Ticket management website built using TDD (RSpec + Capybara). This has been built following Rails 4 in Action book. Some of the features include:
- CRUD operations on tickets belonging to particular projects. File uploading with CarrierWave
- Authentication using Devise
- User management from admin UI
- Role based authorization using Pundit policies. Users have roles on certain projects, which determines the allowed actions within each resource
- State tracking history on tickets
- Ability to add comments on tickets and change state
- Email subscription of ticket comments (watchers)
- Tagging and searching on tags (tag:tagName or clicking on a tag) and state (state:Open) using searcher
The application is hosted on heroku:
https://ticketeee.herokuapp.com/
Clone repo:
$ git clone git@github.com:zapidan/ticketeee.git
Install gems:
bundle install --without production
Install figaro (needed to create ENV variables to create the admin user from the seeds.rb):
$ figaro install
Create email ENV variables in application.yml
development:
gmail_username: "your-username@gmail.com"
gmail_password: "your-password"
Note: In order for gmail to be able to send emails, you'll need to turn on "Allow less secure apps". It is recommended to disable it once the testing is done: https://myaccount.google.com/u/1/security
Run db migrations and seeding of admin and some demo projects:
rake db:setup
Start server and enjoy!
rails server