Giter Club home page Giter Club logo

points's Introduction

Points

Points Maintainability

This is a Rails application to collaboratively estimate stories.

Getting started

To get started with the app, clone the repo and then install the needed gems running the setup script:

$ ./bin/setup

Environment Variables

ORGANIZATION_LOGIN: This is the organization name as it appears in the GitHub URL, for instance orgname in https://github.com/orgname. It is needed to check if users are a part of the organization. Ensure that your membership is set to public when you visit https://github.com/orgs/orgname/people.

If you don't belong to any organization, you can set up one here: https://github.com/organizations/plan

Make sure you add your organization to the .env file like this:

ORGANIZATION_LOGIN=orgname

GITHUB_APP_ID and GITHUB_APP_SECRET: These are the credentials of the OAuth GitHub App that you need to create. Follow the instructions on this link to create one: Creating an OAuth GitHub App

When creating the OAuth GitHub App, the Homepage URL field should be set to http://localhost:3000, and the Authorization callback URL should be http://localhost:3000/users/auth/github/callback.

Once you create the app and generate credentials for it, make sure you add them to the .env file like this:

GITHUB_APP_ID=xxxxxxxxxxxxxxxxxxxx
GITHUB_APP_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

SHOW_DEVELOPER_AUTH=true can be used to allow easy login without requiring GitHub's setup during local development or in safe review environments.

Starting the Server

$ rails s

Go to http://localhost:3000

Running Tests

$ rails spec

Using Docker

NOTE: You'll need to have docker and docker-compose installed

Build the points docker image

./bin/setup_with_docker

Run the app

./bin/start_with_docker

or

docker-compose up web-next

Admin Users

Users are created without admin privileges by default, because admin users have access to a few more features related to reports and setting real score of stories.

Currently, the only way to flag a user as admin is a direct database update using either postgres cli or the rails console.

If you want to set the flag for a user, you can follow these steps:

rails console

or

docker-compose run --rm web rails console

and then:

User.find_by(email: "[email protected]").update_attribute(:admin, true)

Rack Mini Profiler

To enable the Rack Mini Profiler widget, add the ?enable_rack_mini_profiler query string to any url. The widget will stay on for all requests until disabled.

To disable the Rack Mini Profiler widget, add the ?disable_rack_mini_profiler query string to any url.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/fastruby/points. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

When Submitting a Pull Request:

  • If your PR closes any open GitHub issues, please include Closes #XXXX in your comment

  • Please include a summary of the change and which issue is fixed or which feature is introduced.

  • If changes to the behavior are made, clearly describe what changes.

  • If changes to the UI are made, please include screenshots of the before and after.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the Points project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

Sponsorship

FastRuby.io | Rails Upgrade Services

Points is maintained and funded by FastRuby.io. The names and logos for FastRuby.io are trademarks of The Lean Software Boutique LLC.

points's People

Contributors

abizzinotto avatar aisayo avatar arielj avatar bronzdoc avatar cleicar avatar dependabot[bot] avatar emilystorch avatar erayalkis avatar etagwerker avatar fbuys avatar fionadl avatar hmdros avatar italomatos avatar juanvqz avatar kaysiz avatar kindoflew avatar lubc avatar manuca avatar masroorhussainv avatar mateusdeap avatar mcelaney avatar neutrino avatar rdormer avatar rishijain avatar torresga avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

points's Issues

Show a clipboard icon and copy report to clipboard on click

Branch/Commit:

Main branch.

Describe the feature:

As a developer
I generate an action plan
And then I click a clipboard icon
And the action plan is on my clipboard

Problem:

Currently, to copy the action plan, we have to select everything and copy. It will make copying long action plans easier.

Mockups:

I imagine a small clipboard icon or button at the top right corner maybe.

Resources:

https://clipboardjs.com/ this can help.

I will abide by the code of conduct

Add ability to Filter/Search stories

IMPORTANT: please make sure you ask yourself all intro questions and fill all sections of the template.

  • I checked the documentation and didn't find this feature
  • I checked to make sure that this feature has not already been requested

Branch/Commit:

main

Describe the feature:

Please include a detailed description of the feature you are requesting and any detail on it’s expected behavior.

As a estimator
I would like to look (or filter) for stories by name
And then I open a project type into a searchbox
And I see stories related to the input text

Problem:

Currently when a project grows it becomes harder and harder to find stories.
This could cause us to add duplicate stories when we cannot find an existing story.

Mockups:

TBD

Resources:

TBD

I will abide by the code of conduct

Add the possibility to run the app via `docker-compose`

Before we start...:

  • I checked the documentation and didn't find this feature
  • I checked to make sure that this feature has not already been requested

Branch/Commit:

main

Describe the feature:

The project would have the necessary configuration files to enable any developer to quickly run it using docker

Problem:

As a developer, workflow would be made easier by adding a Dockerfile and a docker-compose.yml to quickly get the app up and running

I will abide by the code of conduct

[Feature Request] Make the `Add Story` button always visible

Currently, when adding stories, for every story we add we have to scroll all the way down. It gets longer every time.

It would be nice to have the Add Story action always visible, following the scroll for easy access (either as a floating call to action or a button in a fixed position inside the content like a sticky header).

Some examples of what I mean:
image
iOS version shows the main action at the top bar, Android shows a floating button at the bottom right corner

Stories#show should show more context (project / subproject breadcrumb)

Before we start...:

  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed
  • I'm reporting the issue to the correct repository (for multi-repository projects)

Branch/Commit:

main branch

Expected behavior:

I'd like to know what story I'm seeing (within what project?)

Actual behavior:

I see only title and description, no contextual info.

Steps to reproduce:

  1. Create a project with man�y sub-projects
  2. Create a story with the same title in multiple sub-projects
  3. Open the story in different sub-projects
  4. Confusion

Screenshots and Videos

Screen Shot 2021-10-08 at 2 23 17 PM

Same title in one subproject (1)

Screen Shot 2021-10-08 at 3 18 22 PM

Same title in another subproject (2)

Screen Shot 2021-10-08 at 3 18 17 PM

I will abide by the code of conduct

Add the ability to delete your estimation of a story

Branch/Commit:

Main branch

Describe the feature:

As a user, I would like to delete my estimation.

Problem:

I did some estimations by mistake in a project I was not requried to do so, I have no option to remove the estimation and that affects the report.

I will abide by the code of conduct

UI: It is not clear for the user that the CSV import/export title is clickable

IMPORTANT: please make sure you ask yourself all intro questions and fill all sections of the template.

Before we start...:

  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed
  • I'm reporting the issue to the correct repository (for multi-repository projects)

Branch/Commit:

main

Expected behavior:

All clickable elements in an interface should present clear clues for users.

Actual behavior:

The CSV Import/Export sign that shows some additional fields, does not show any visual clue

Steps to reproduce:

How do I achieve this behavior? Use the following format to provide a step-by-step guide:

  1. Go to any project's page
  2. There is the sign without clues (see pics below)

Context and environment:

Provide any relevant information about your setup (Customize the list accordingly based on what info is relevant to this project)

  1. Version of the software the issue is being opened for. Currently deployed version
  2. Operating System N/A
  3. Operating System version N/A
  4. Browser: Firefox
  5. Browser version: 88
  6. Device N/A

Delete any information that is not relevant.

If you are unable to reproduce the bug, add the Non-Reproducible tag and describe the steps you followed leading to the bug to the best of your recollection.

Screenshots and Videos

Before clicking:
Selection_659

After clicking:
Selection_660

Add support for subprojects

When we have to do a big upgrade involving different stages and versions jumps, it would be nice to have each thing as a project and one project containing all.

For example: let's say we want to upgrade an app from rails 3.0 to rails 5.0, but also do some big changes in the middle like replacing a gem with an alternative version that should be handled outside the usual upgrade project.

We would have multiple projects:

  • Rails 3.0 to 3.1
  • Rails 3.1 to 3.2
  • Ruby 1.9.3 to 2.3
  • Replace X gem with Y replacement
  • Rails 3.2 to 4.0
  • Rails 4.1 to 4.2
  • Rails 4.2 to 5.0

And then a parent project to group the rest.

That way, each stage/story of a project can be estimated as a unit and then the parent project can generate the report.

Currently, adding all those projects makes the index full of similar entries and having all the stories into one single project makes it hard to organize them and it can't show the estimation for each separately.

Export complete action plan when exporting parent project

Branch/Commit:

Main branch.

Describe the feature:

As a user, I want to be able to export the complete action plan at once generating the action plan from the parent project.

Problem:

Currently, we have to export each sub-project manually and copy/paste them in the document one by one.

I will abide by the code of conduct

Docker config is outdated

Branch/Commit:

Main branch

Expected behavior:

As a developer, I should be able to run docker-compose build and get a container ready to run the app.

Actual behavior:

During the build process, first it requires to install an specific bundler version and then it complains about the Ruby version.

This happened because there were 2 PRs going on at the same time (the one adding docker and the one upgrading rails/ruby) and things got out of sync.

Steps to reproduce:

  1. Clone the repo
  2. Run docker-compose build

Comments:

Changing the image to circleci/ruby:3.0.2-node-browsers in the Dockerfile fixes the ruby error.

Adding a RUN gem install bundler -v 2.2.26 before RUN bundle install in the Dockerfile fixes the bundler error.

I will abide by the [code of conduct] (CODE_OF_CONDUCT.md)

Pivotal Tracker generates a CSV incompatible with our importing mechanism

Before we start...:

  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed
  • I'm reporting the issue to the correct repository (for multi-repository projects)

Branch/Commit:

main. This bug is currently in production

Expected behavior:

Given a CSV file exported from Pivotal Tracker, when I click in Import/Export in points, add that file and click Import, it should generate all stories contained within the CSV in points

Actual behavior:

It give an error complaining of missing headers title, description and position

Steps to reproduce:

How do I achieve this behavior? Use the following format to provide a step-by-step guide:

  1. Export a CSV from Pivotal Tracker with the stories you want
  2. Go to the project's page in points and click Import/Export
  3. Click to pick a file from your computer and add the CSV you exported from Pivotal Tracker
  4. Click on "Import"

Context and environment:

This is all happening in production, currently. No special context needed except for a project you wish to add stories to.

I will abide by the [code of conduct] (CODE_OF_CONDUCT.md)

Delete stories using ajax

Delete stories using ajax so we don't have to refresh the page every time we delete a story change

Deprecated authorization method

I received this email from GitHub, saying we have to use a different authorization method (Authorization HTTP header instead of the access_token query parameter that's being used now)

Hello there!

On November 9th, 2020 at 02:32 (UTC) your application (Points Development) used an access token (with the User-Agent Faraday v0.15.4) as part of a query parameter to access an endpoint through the GitHub API.

https://api.github.com/user

Please use the Authorization HTTP header instead as using the access_token query parameter is deprecated.

Depending on your API usage, we'll be sending you this email reminder on a monthly basis.

Visit https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param for more information about suggested workarounds and removal dates.

Thanks,
The GitHub Team

Sign in is not working in Heroku review apps

Before we start...:

  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed
  • I'm reporting the issue to the correct repository (for multi-repository projects)

Branch/Commit:

main

Expected behavior:

I'd like review apps to let me sign in with my Github username (as it would in production)

Actual behavior:

When trying to sign in I end up in the GitHub 404 page.

Steps to reproduce:

  1. Step 1: Go to any review app
  2. Step 2: Try to sign in

Screenshots and Videos

It will redirect to a URL that looks like this: https://github.com/login/oauth/authorize?client_id&redirect_uri=https%3A%2F%2Fpoints-fix-csv-import-e-z5ds36.herokuapp.com%2Fusers%2Fauth%2Fgithub%2Fcallback&response_type=code&scope=user%3Aemail&state=656a13668efdf41a985047c6798ae108eec02eaa124b0bc9

Screen Shot 2021-06-07 at 9 17 52 PM

Logs

Include relevant log snippets or files here.

I will abide by the code of conduct

Instructions about setting up environment variables are not descriptive enough

  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed

Branch/Commit:
main branch

Expected behavior:

When setting up the project for development, the README.md file is not descriptive enough about how to create and get the ORGANIZATION_LOGIN, GITHUB_APP_ID, and GITHUB_APP_SECRET environment variables. It should have instructions about creating a Github Organization and an Oauth app under this organization.

Actual behavior:
The current README.md instructions point to a link titled GitHub Applications Page which in fact is not the correct one, this would create an OAuth app under the Github user's account and not under the Github Organization.

In order to use the Oauth app created from the link GitHub Applications Page, this app would need to be transferred to a Github Organization, only then it can be used in conjunction with ORGANIZATION_LOGIN.

Steps to reproduce:

  1. Checkout main branch
  2. See the Environment Variables section of README.md
  3. Visit the link GitHub Applications Page and create an OAuth app
  4. The Oauth app you just created, is under the Github user's account but instead, it needs to be under a Github Organization's account.

Solution
These are the actual steps that might be needed by the developer to set up the correct environment variable values:

  1. Set up a Github Organization
  2. Go to the Organization settings
  3. Go to Organization's Developer Settings, this will display the OAuth apps of this Organization
  4. Click on "New Oauth App"
  5. Enter details for the Oauth app and create the OAuth app
  6. Generate Client Secret
  7. Copy the App ID, Client Secret and the Organization name for use in the .env file.

Screenshots and Videos

image

I will abide by the [code of conduct] (CODE_OF_CONDUCT.md)

COC link is broken in Bug and Feature Request templates

Branch/Commit:

Main branch

Expected behavior:

Clicking the code of conduct link should open it.

Actual behavior:

It links to https://github.com/fastruby/points/issues/CODE_OF_CONDUCT.md so it fails to find the file in the Feature Request template. This syntax is actully broken in the Issue template with an extra space so it's not even shown as a link.

Steps to reproduce:

Click on code of conduct in the next line, it won't work.

I will abide by the [code of conduct] (CODE_OF_CONDUCT.md)

Missing documentation on how to assign `admin` users

Branch/Commit:

Main branch

Expected behavior:

As somebody trying to setup this project, I would like to see a section in the readme explaining how to flag users as admins so they can generate reports with the estimates.

Actual behavior:

It's not clear how to do that reading the README, I understand the only way to do this is to change the flag directly on the database record.

I will abide by the code of conduct

issue with authorizing through github

Commit e0a9ca6 appears to have introduced an issue that prevents authorizing through github. Anyone with an open session is unaffected, but attempting to login anew results in the error message "Not found. Authentication passthru."

New story errors are duplicated

Branch/Commit:

Main branch.

Expected behavior:

If the story can't be created, I should see the error once.

Actual behavior:

The error shows as a flash message and as a list of errors.

Steps to reproduce:

Try to add a story with a missing title

Screenshots and Videos

image

I will abide by the [code of conduct] (CODE_OF_CONDUCT.md)

Show markdown reference for the description block

https://ombulabs.atlassian.net/browse/DT-264

Branch/Commit:

Main branch.

Describe the feature:

As a <role name>
I want to see a quick reference of some markdown syntax
So I don't have to look for that in other places

I imagine a small (?) element next to the description that, on hover, shows a quick cheat-sheet of the basic for formatting and code blocks.

Problem:

Currently, if you need some syntax reference, you have to google for it or remember it. Also, for example, 4-space indentation looks better than tripple backtick for code blocks, maybe we can suggest to use the former instead in that cheat-sheet.

Resources:

Here in github, we have this legend below the description block, clicking it takes you to a documentation page, we could also do that, linking to this same documtation maybe if we don't want a custom cheat-sheet.

image

I will abide by the code of conduct

Add estimates does not always display modal to perform the action 😞

Before we start...:

  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed
  • I'm reporting the issue to the correct repository (for multi-repository projects)

Branch/Commit:

main branch

Expected behavior:

Clicking add estimate should always display a modal.

Actual behavior:

Sometimes clicking add estimate does not display a modal.

Steps to reproduce:

It's hard to find it, but I've experimented it in both Safari and Chrome

  1. Step 1: Load a new project page
  2. Step 2: Click add estimate

Screenshots and Videos

I will share this privately as it has sensitive details in the video I captured.

Logs

Unfortunately there are no details in the JS console... 😢

I will abide by the code of conduct

Sponsor image is hard to read on dark themes

Branch/Commit:

Main branch

Expected behavior:

The sponsor image at the bottom of the readme should be readable in both light and dark themes.

Actual behavior:

The sponsor image has transparent background and black text and it's not readable on the dark theme.

Screenshots and Videos

image

Check dotenv_validator for reference:

image
(though I think this one is too big and pixelated, maybe a middle ground with the previous size but clear background is better)

I will abide by the code of conduct

[FEATURE] Action Plan Item's prefix

Currently, when copying the action plan from points into the roadmap, we have to add the counter/prefix for each item.
From this:
image

To this:
image

It would be nice that the site adds the numbering automatically and to have an input field at the top of the action plan to add a prefix. For example: all the items are numbered from 1 and on. If the prefix input has some data, it should be prepended to all title (that could be done on the fly with javascript). In the sample screenshots, we could have all the items starting with 1 and so on, and the prefix input with the value 3.1. to generate 3.1.1, 3.1.2, etc..

That way, copy/pasting the action plan would be much easier.

[BUG] Alert background for errors should not be green

Before we start...:

  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed
  • I'm reporting the issue to the correct repository (for multi-repository projects)

Branch/Commit:

I have noticed this error on all branches of Points.

Expected behavior:

When I see an alert that notifies the user of an error, the background should be a different color (such as red) than a success alert.

Actual behavior:

Currently all alerts have a green background, regardless of whether the message indicates a success or an error. This is confusing because I have to carefully read the alert message instead of relying on the background of the alert for context.

This is an error message, but the alert background is green:
Screen Shot 2021-07-09 at 2 41 17 PM

This is a success message:
Screen Shot 2021-07-13 at 1 59 49 PM

It looks like there is an alert-danger class that is being overwritten in the main stylesheet:

Screen Shot 2021-07-13 at 2 05 06 PM

I will abide by the [code of conduct] (CODE_OF_CONDUCT.md)

Code blocks overflow the estimation modal

Before we start...:

  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed
  • I'm reporting the issue to the correct repository (for multi-repository projects)

Branch/Commit:

main at the latest commit

Expected behavior:

If I define a code block using markdown with triple backticks (`), when I click in "Add Estimate", that code block should be rendered within the modal

Actual behavior:

It currently overflows, as illustrated below

Steps to reproduce:

  1. Add a code block using triple backticks and add some text to it, inside a story description
  2. Save and go back to the story listing
  3. Click on "Add Estimates"

Context and environment:

This bug is currently in production

Screenshots and Videos

image

I will abide by the [code of conduct] (CODE_OF_CONDUCT.md)

Users can edit other users' estimates

Branch/Commit:

Main branch

Expected behavior:

As a user, I should be allowed to only edit my estimates

Actual behavior:

Currently, if I modify the url of the edit estimate page, I can edit any estimate from any user for any project.

Steps to reproduce:

  1. Go to a project where you have any estimate
  2. Right click the Edit estimate button and open in a new window (so you have the full url of the edit form)
  3. Change the ID of the estimate

They way you can target any estimate from anyone and there's also a problem where the lookup of the estimate is not scoped to the current project/story in the url (we are doing Estimate.find instead of something like current_user.estimates.where(story_id: ...).find(params[:id]) in both the edit/update/destroy actions)

I will abide by the code of conduct

4-space indent selected text in description

https://ombulabs.atlassian.net/browse/DT-263

Branch/Commit:

Main branch

Describe the feature:

As a developer
I select some lines from the description
And then I click a button
And I see the selected lines indented with 4 leading white spaces so it's formatted as a block

Problem:

Currently, if we want to add code, we have two methods:

  • triple backticks around the code (which is not always reliable and adds a color to the code)
  • 4-spaces indentation (which is pretty annoying to adjust the indentation once the code is in the desription box or you have to update the indentation before copying the code)

I will abide by the code of conduct

Improve form errors style

https://ombulabs.atlassian.net/browse/DT-261

Branch/Commit:

Main branch

Describe the feature:

As a user, if the creation of a Story fails, I want to see the error messages next to each field with an error.

Problem:

Currently, it looks outdated with a list of all the errors at the top, colors don't match the Point palette, style is kinda broken (the vignette of the list is outside the container)

image

Mockups:

Something like this maybe? using red-ish color from ombu logo
image

I will abide by the code of conduct

[BUG] Can't Log in (intermittently)

IMPORTANT: please make sure you ask yourself all intro questions and fill all sections of the template.

Before we start...:

  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed
  • I'm reporting the issue to the correct repository (for multi-repository projects)

Branch/Commit:

main

Expected behavior:

I should be able to Log In with Github.

Actual behavior:

Log in fails with a 500 error.

Steps to reproduce: [Non-Reproducible intermittently]

How do I achieve this behavior? Use the following format to provide a step-by-step guide:

(usually after full shutdown/restart, or after quitting the browser)

  1. Step 1: Open http://points.ombulabs.com/users/sign_in
  2. Step 2: Click "Sign in With Github"

Context and environment:

Provide any relevant information about your setup (Customize the list accordingly based on what info is relevant to this project)

  1. Currently deployed version
  2. macOS Big Sur
  3. 11.4 (20F71)
  4. Brave Browser
  5. Version 1.25.68 Chromium: 91.0.4472.77 (Official Build) (x86_64)

Screenshots and Videos

Screenshot 2021-06-07 at 15 46 33

Screen Recording 2021-06-07 at 15.21.02.zip

Logs

requests_as_fetch.txt
requests_as_curl.txt

All requests are included, since they're all redirects, responses are empty until the 500 error, which is the last request.

I will abide by the [code of conduct] (CODE_OF_CONDUCT.md)

Seeds are not generating a project with stories

IMPORTANT: please make sure you ask yourself all intro questions and fill all sections of the template.

Before we start...:

  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed
  • I'm reporting the issue to the correct repository (for multi-repository projects)

Branch/Commit:

9a8db11 (HEAD -> main, origin/main, origin/HEAD) Merge pull request #62 from fastruby/fix-templates-project-name

Expected behavior:

After running ./bin/setup and running rails s I log in and select the Test Project With Stories project.
I then expect to see a project with stories.

Actual behavior:

I actually see a project without any stories.

Steps to reproduce:

How do I achieve this behavior? Use the following format to provide a step-by-step guide:

  1. Step 1: Clone Repo
  2. Step 2: Run ./bin/setup
  3. Step 3: Run rails s
  4. Step 4: Open http://localhost:3000/ and login with OAuth
  5. Step 4: Select Test Project With Stories project

Context and environment:

Provide any relevant information about your setup (Customize the list accordingly based on what info is relevant to this project)

  1. Version of the software the issue is being opened for.
    Ruby version: ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin20]
    Postgresql version: 13

If you are unable to reproduce the bug, add the Non-Reproducible tag and describe the steps you followed leading to the bug to the best of your recollection.

Screenshots and Videos

image

I will abide by the [code of conduct] (CODE_OF_CONDUCT.md)

Show story preview

Branch/Commit:

Main branch.

Describe the feature:

As a user, I want to be able to see a preview of the story before submitting it to make sure the markdown is correct.

Problem:

Currently, when a story is created, you can't see how it's going to look until to actually submit the form and you are taken back to the index so to see how it looks you have to the show page and then to the edit if you need to change something.

I will abide by the code of conduct

Estimate stories using a modal

Currently, when clicking Add Estimate it takes you to a different page, then, after saving the estimation, it takes you back to the top of the list. you need to scroll back to where you were.

Using a modal to show the story's info and the form and handling the submit/update using ajax would make this process faster.

Add "live estimation" capability

https://ombulabs.atlassian.net/browse/DT-265

Points is great for asynchronous estimates. But in some situations we might have a need for a "live estimation". It would be good to have that functionality in Points too.

We would need to be able to:

  • Choose a scale (Fibonacci or T-Shirt sizing)
  • Add the stories
  • Add the "players" (team members that will be estimating using the planning poker activity)
  • Have an option to start the estimation process, at which point all players would see the story and the available estimation options to pick one
  • Show the result and average once all players have estimated a story and move to the next story
  • Finish estimation and generate a report
  • Ability to export the report in CSV format

Address deprecation warnings before updating project to Rails 6.1

While upgrading to Rails 5.2 and testing with Rails 6.0 (#15), I noticed that there are a few deprecation warnings in the Rails 6.0 test suite log:

➜  points git:(feature/upgrade-rails-5-2) ✗ next bundle exec rspec spec

Randomized with seed 53726
DEPRECATION WARNING: update_attributes is deprecated and will be removed from Rails 6.1 (please, use update instead) (called from update at /Users/etagwerker/Projects/fastruby/points/app/controllers/estimates_controller.rb:30)
.....DEPRECATION WARNING: update_attributes is deprecated and will be removed from Rails 6.1 (please, use update instead) (called from update at /Users/etagwerker/Projects/fastruby/points/app/controllers/estimates_controller.rb:30)
........DEPRECATION WARNING: update_attributes is deprecated and will be removed from Rails 6.1 (please, use update instead) (called from update at /Users/etagwerker/Projects/fastruby/points/app/controllers/estimates_controller.rb:30)
..DEPRECATION WARNING: update_attributes is deprecated and will be removed from Rails 6.1 (please, use update instead) (called from update at /Users/etagwerker/Projects/fastruby/points/app/controllers/projects_controller.rb:50)
................Capybara starting Puma...
* Version 3.12.6 , codename: Llamas in Pajamas
* Min threads: 0, max threads: 4
* Listening on tcp://127.0.0.1:58387
........................DEPRECATION WARNING: update_attributes is deprecated and will be removed from Rails 6.1 (please, use update instead) (called from update at /Users/etagwerker/Projects/fastruby/points/app/controllers/stories_controller.rb:49)
..Unexpected confirm modal - accepting.You should be using `accept_confirm` or `dismiss_confirm`.
........DEPRECATION WARNING: update_attributes is deprecated and will be removed from Rails 6.1 (please, use update instead) (called from update at /Users/etagwerker/Projects/fastruby/points/app/controllers/projects_controller.rb:50)
.......DEPRECATION WARNING: update_attributes is deprecated and will be removed from Rails 6.1 (please, use update instead) (called from update at /Users/etagwerker/Projects/fastruby/points/app/controllers/stories_controller.rb:49)
.............

Finished in 9.81 seconds (files took 5.46 seconds to load)
85 examples, 0 failures

Randomized with seed 53726

We will need to address these deprecation warnings before upgrading to Rails 6.1

[BUG] Feature/Bug issue templates name `Dash` instead of `Points`

Branch/Commit:

Main branch

Expected behavior:

The templates should name Points as the project's name.

Actual behavior:

The templates say Dash as the project's name.

Steps to reproduce:

Try to create a Bug report or a Feature request.

I will abide by the [code of conduct] (CODE_OF_CONDUCT.md)

[Feature Request] Ability to archive projects

It would be nice to be able to archive older projects. Right now the index for Points is full of projects finished long ago and the new and active ones are at the bottom.

Maybe we would need some checkbox or something in the index action to show/hide (hidden by default) the archived projects just in case.

Total estimates row is not updated after adding an estimate with ajax

Branch/Commit:

Main

Expected behavior:

After adding/editing an estimate, the line Total estimates after the table should show the current state.

Actual behavior:

The Total estimates are not updated until we refresh the page.

Steps to reproduce:

Pick any project and add an estimate using the modal / ajax. The total estimates won't change. Refresh the page. The total will be updated.

I will abide by the [code of conduct] (CODE_OF_CONDUCT.md)

[BUG] Improve header title for better usability and context?

I guess this is a usability patch, maybe we should have a better header depending on the page that we are in? Right now it says "Points App" all the time and it doesn't help with having some context as you scroll down the page.

Before we start...:

  • I checked the documentation and found no answer
  • I checked to make sure that this issue has not already been filed
  • I'm reporting the issue to the correct repository (for multi-repository projects)

Branch/Commit:

main branch.

Expected behavior:

As I scroll down the report page, I should continue to see the title of the project.

Actual behavior:

As I scroll down the report page, I don't see the title of the project (only Points App in the header) and I lose track of what project I'm reviewing...

Steps to reproduce:

  1. Step 1: Add a lot of stories to a project
  2. Step 2: Go to the view report page to see all the estimates (need to be an admin)
  3. Step 3: Scroll down to the last story

Screenshots and Videos

Screen Shot 2021-08-12 at 10 33 09 AM
Screen Shot 2021-08-12 at 10 32 58 AM

I will abide by the code of conduct

Create the ability to copy a project or stories into another project

As a user I would like to be able to create a project where I can choose a set of stories copied from another project. This way we could have sample projects or templates to build off when we begin a new project. This would save a lot of time when sets of stories are used over and over.

Button colors are not consistent

https://ombulabs.atlassian.net/browse/DT-262

Branch/Commit:

Main branch

Expected behavior:

The color of the buttons with similar actions should be consistent. Buttons deleting stuff should be red-ish, buttons adding stuff should be green, other buttons should be yellow (just an example, not sure if those are the right decisions)

Actual behavior:

The colors are not consistent:

  • we have a red button to bulk delete, but a green button to delete a singles story
  • we have a red button to add a story, but a green button do add an estimate
  • we have a green button to edit a story or an estimate, but a red button to edit the project
  • we have a green button to edit a story, but the submit button is yellow, and the back button is yellow too

Screenshots and Videos

image
image

EDIT:

After checking with nathalie, she gave some suggestions:

  • the row actions are changing to something like this for now
    image

but she proposed something like this for the future:
image
image

  • the Bulk Delete button:

    • would be better if it looks like a link instead of a button so it doesn't look that important, (or maybe it shouldn't be visible until stories are selected? added by me)
    • the Bulk Delete button can be renamed to Delete, the x story/ies makes it clear it can be a bulk action
    • (added by me), maybe move bulk actions into a more dropdown? we could have bulk move / delete / clone for example
  • the Return to Projects Page button should be a button, and shouldn't be there with the actions, it's a navigation action so it should be in the header or the nav bar, and should look like a button but like a link since it's navigation

I will abide by the code of conduct

Improve projects-subprojects navigation

Branch/Commit:

Main

Describe the feature:

It would come handy to have a sidebar with the structure of the project like:

Some Upgrade Project:

  • Rails 3.2 to 4.0
  • Rails 4.0 to 4.1
  • Rails 4.1 to 4.2

That way we can move between the different subprojects quickly

Problem:

Currently it's too hard to navigate between the main project and the subprojects, having to go back and forth to the index page.

I will abide by the code of conduct

Specify the Ruby version that should be used

Branch/Commit:

Main branch

Describe the feature:

As a user developer, I want to see which Ruby version I should use to run the app.

Problem:

Currently we have a mix of versions:

  • CI config is using 2.6.3
  • the .ruby-version.sample files shows 2.4.1
  • the Gemfile has no definition of the Ruby version (Heroku uses this)
  • our deployment in heroku is using 2.5.3

Since we are already using 2.6.3 on CI, I think it would be a good idea to set that version to use since it's the one that's always tested (though maybe somebody has another suggestion, maybe test the app in many ruby versions on CI?)

I will abide by the code of conduct

Delete multiple story points at once

I want to be able to delete multiple story points at once instead of deleting stories one by one.

Maybe add checkboxes for each story and perform a delete action based on that

`My Projects` title is confusing

Branch/Commit:

Main branch

Expected behavior:

I want to see a clear title in the projects' index. Maybe Projects or even no title at all?

Actual behavior:

The title in the projects index is My Projects and it gives the impression that the projects a user see there are scoped to be only that user's projects, but we don't have that concept. This is the list of all projects.

Screenshots and Videos

image

I will abide by the code of conduct

Ordering doesn't work consistently

Sometimes, after dragging a story by mistake (but leaving it in the same spot where it was) or editing stories moves them to different positions.

I couldn't find a concrete step-by-step way to reproduce it.

I think the issue is that the sort action increases positions by 1 and new stories my have a lower position

Visual Queues for Delete button

Currently there is no guide (visual or otherwise) to inform the user that the bulk story delete button requires that the user first select story checkboxes.

It might be better to disable the Delete button and only enable it once the user selects a checkbox.
Then we can also indicate a number next to the Delete text to indicate how many stories will be deleted.

Might require a bit of JS work to get this feature to work.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.