Clone project
git clone https://github.com/NabeelahY/support_ticket_system.git
Install NPM dependencies
npm install
Setup .env file
cp .env.example .env
Run the server on localhost:8000
npm run dev
Testing is done with Jest and are located under the tests
directory amd __tests__
directory located in each route folder. To run the tests use:
npm test
For testing, you do not require a seperate database. That is being handled with the mongodb-memory-server
package once you install the dependencies.
To seed your database, run:
npm run seed
- Create a user schema that encompasses a customer, support agent and admin
- Create user models and routes along with middlewares for each kind of users
- Test endpoints with Jest.
- Integrate CircleCI along with coveralls for Continuous Integration
- Create other routes and make sure to test before merging to develop branch
- Create documentation for each route using Postman
- Add admin user features and improve API
- Connect to mongodb atlas for deployed version and mongodb compass locally
Typescript was a huge pain in the beginning especially with the models. But once I figured it out with the users model, it was easy for the rest.
I am currently working on the frontend app consuming this API. Also I plan to add categories to the ticket, to make it easy for users to filter tickets based on their categories.