This is a customer support ticketing system that allows customers to place support requests and support agents/admins to respond and process the requests.
rails db:setup
- Open
config/database.yml
and change password to your local machine's MySQL root password. In that file, change the line that looks similar to the code below. Change the123456
to your local machine password.
password: "123456"
- Install dependencies
bundle install
yarn install
- Setup the database.
rails db:create
rails db:migrate
rails db:seed
OR
rails db:setup
- Login with the details below as required. One login details each for admin, client, and agent.
- 1 administator. Login details:
Username: [email protected]
Password: '123456'
- 5 agents. Login details of one of them:
Username: [email protected]
Password: '123456'
- 17 clients. Login details of one of them:
Username: [email protected]
Password: '123456'
-
Run
rails s
to run the application. -
Navigate to
http://localhost:3000
in your browser to view home page.
rspec
Tickets can only be created by Clients. A client can see all open or closed tickets. A client can not comment on a newly created ticket until an agent or admin comments on it.
An agent can see open tickets and process any of them, the tickets are arranged in reversed order, meaning last created ticket appears last on the list. Agents can also close the tickets once it has been successfuly resolved. Agent can download recently closed/processed (30 days) tickets as PDF.
An admin can see open tickets and process any of them, the tickets are arranged in reversed order, meaning last created ticket appears last on the list. Admin can download recently closed/processed (30 days) tickets as PDF. Admins can also close the tickets once it has been successfuly resolved. Admin can also view clients, agents, and admins. Admin can promote or demote a user to a client, agent, or admin. Admin can not demote any other admin.
- React
- Ruby on Rails
- Redux
- Yarn
- MySQL
- Rspec
- Bootstrap
- SCSS
- This is a REST API rails backend.
- React is used in the frontend using react-rails gem.
- React handles all routes except API calls and PDF file download.
- Prawn PDF generator is used to generate the PDF.
- Add more test coverage.
- Refactor code.
- Name all URLs and import them from
constants.js
instead of directly inputing them in Axios calls.
👤 Saheed Oladele
- Website: saheedoladele
- Twitter: @suretrustng
- Github: @suretrust
- LinkedIn: @saheed-oladele
Give a ⭐️ if this project helped you!