Skip to content

A Rails application to collaboratively estimate stories

Notifications You must be signed in to change notification settings

fastruby/points

Repository files navigation

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: "user@example.com").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.