The purpose of this app is to manage RPG campaigns.
Simple app to keep track of pen’n’paper RPG campaigns. User can create campaign and games in it. Every user assigned to campaign is notified about new game by email and asked to contribute. He can leave his summary/review of the game or funny quotes. This way we can create nice little campaign weblog. Users can ‘love’ others posts giving them points. For that points they can buy rewards that can help them during game. This is a great motivation to contribute.
Players can also keep track of their characters in games and their equipment. They can also propose their ideas to game master and earn points that way.
- Ruby on Rails 5.0.0.1
- Ruby 2.3.1
- Postgresql
- HAML
- Bootstrap 3
- Devise authentication
- Pundit authorization
- Continous deployment with Travis and Heroku
- Code Climate quality check
git clone git@github.com:fantasygame/campaigns.git
bundle install
Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-14-04
To do that you can use interactive psql command
createuser --interactive
cp config/database.example.yml config/database.yml
cp config/application.example.yml config/application.yml
rake db:setup
We use RSpec 3 for backend testing.
- Make sure that you have your email and name set in git on your machine. It won't recognize your commits if you don't do this. https://help.github.com/articles/setting-your-email-in-git/
- Make sure to connect your machine to github by ssh https://help.github.com/articles/generating-ssh-keys/
- Don't fork the project. We use one-repo pull request approach for easy development.
- Every pull request is reviewed by the other team member. Make sure to fix any issue that is found.
- Every commit is reviewed by the other team member. Make sure to fix any issue that is found.
- We use rubocop to mantain high code quality. Make sure to follow its advices. Install rubocop plugin to your editor.
- Make your best to write tests for your code. You can check code coverage in codeclimate.
- We don't like merge commits. Use rebase.
bash git config --global branch.autosetuprebase always
To deploy to production (heroku) just merge master to production branch via
git push origin master:production
If you make improvements to this application, please share with others.
- Fork the project on GitHub.
- Make your feature addition or bug fix.
- Commit with Git.
- Send the author a pull request.
- Please follow Ruby style guide available here and rubocop.yml
If you add functionality to this application, create an alternative implementation, or build an application that is similar, please contact me and I’ll add a note to the README so that others can find your work.
- Małgorzata Grobelska
- Jakub Kubacki
