Skip to content

Creating the architecture and design of a customer support ticketing system

Notifications You must be signed in to change notification settings

NabeelahY/support_ticket_system

Repository files navigation

Support Ticket System

API Documentation

Deployed API 🚀

CircleCI Coverage Status

Installation

Clone project

git clone https://github.com/NabeelahY/support_ticket_system.git

Install NPM dependencies

npm install

Setup .env file

cp .env.example .env

Running development server

Run the server on localhost:8000

npm run dev

Testing

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.

Seeding

To seed your database, run:

npm run seed

Roadmap / Thought Process

  • 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

FAQ

Issues you have faced

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.

Constructive feedback for improving

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.

About

Creating the architecture and design of a customer support ticketing system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages