Skip to content

User Authentication, Customer Support Request Creation and Administration Action Capability for a Service Ticketing System.

License

Notifications You must be signed in to change notification settings

AyanavaKarmakar/service-ticketing-system

Repository files navigation

service-ticketing-system


Table of Contents


Monorepo Structure

.
├── backend [built using Node.js / Express.js]
├── frontend [built using React.js / Vite.js]
├── angular-client [built using Angular (WIP)]
└── nest-client [built using Nest.js (WIP)]

Screenshots

1. Shared

  • Log in / Sign up Form

image

2. Customer

  • Dashboard

image

  • New Service Request Form

image

  • Service Request Form Details

image

3. Employee (ADMIN)

  • Dashboard

image

  • Unallocated Tasks

image

  • Assign Unallocated Tasks

image

  • Allocated Tasks

image

  • De-assign Allocated tasks

image

  • Update Task Status

image

4. Employee (NON-ADMIN)

  • Dashboard

image

  • Update Task Status

image


Technologies Used

Backend

  • Live API deployed on Render
  • Docs
  • Note: The API is rate limited to 100 requests per 15 minutes per IP address.

image

  1. NodeJS
  2. ExpressJS
  3. Multer
  4. MongoDB
  5. Mongoose
  6. TypeScript
  7. Cloudinary
  8. Express-Rate-Limiter

Frontend

  1. React.js
  2. TypeScript
  3. Tailwind CSS
  4. Radix UI
  5. Headless UI
  6. React Query
  7. Redux Toolkit
  8. React Hot Toast

Getting Started

Backend

  1. Install Dependencies
cd backend
npm install
  1. Create a .env file in the root directory of the backend folder and add the following environment variables
MONGODB_URI=mongodb://localhost:27017/your-database-name
JWT_SECRET=your-secret-key
CLOUDINARY_CLOUD_NAME=cloud
CLOUDINARY_API_KEY=key
CLOUDINARY_API_SECRET=secret
  1. Run the server
npm run dev

The server will start running on port 3000


Frontend

  1. Install Dependencies
cd frontend
npm install
  1. Create a .env file in the root directory of the frontend folder and add the following environment variables
VITE_API_URL = http://localhost:3000
  1. Run the server
npm run dev