https://github.com/ayanavakarmakar/service-ticketing-system
User Authentication, Customer Support Request Creation and Administration Action Capability for a Service Ticketing System.
https://github.com/ayanavakarmakar/service-ticketing-system
angular angularmaterial cloudinary expressjs headlessui mongodb mongoose multer nodejs radix-ui react react-hot-toast react-query redux-toolkit render tailwindcss typescript vercel
Last synced: 12 months ago
JSON representation
User Authentication, Customer Support Request Creation and Administration Action Capability for a Service Ticketing System.
- Host: GitHub
- URL: https://github.com/ayanavakarmakar/service-ticketing-system
- Owner: AyanavaKarmakar
- License: mit
- Created: 2023-04-06T13:26:51.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2025-01-14T13:49:26.000Z (over 1 year ago)
- Last Synced: 2025-04-23T16:51:39.109Z (about 1 year ago)
- Topics: angular, angularmaterial, cloudinary, expressjs, headlessui, mongodb, mongoose, multer, nodejs, radix-ui, react, react-hot-toast, react-query, redux-toolkit, render, tailwindcss, typescript, vercel
- Language: TypeScript
- Homepage: https://service-ticketing-system.vercel.app
- Size: 1.16 MB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README

---
## Table of Contents
- [Monorepo Structure](#monorepo-structure)
- [Screenshots](#screenshots)
- [Shared](#1-shared)
- [Customer](#2-customer)
- [Employee (ADMIN)](#3-employee-admin)
- [Employee (NON-ADMIN)](#4-employee-non-admin)
- [Technologies Used](#technologies-used)
- [Backend](#backend)
- [Frontend](#frontend)
- [Getting Started](#getting-started)
- [Backend](#backend-1)
- [Frontend](#frontend-1)
- [WIP Angular Client](#wip-angular-client)
---
## Monorepo Structure
```bash
.
├── 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

### 2. Customer
- Dashboard

- New Service Request Form

- Service Request Form Details

### 3. Employee (ADMIN)
- Dashboard

- Unallocated Tasks

- Assign Unallocated Tasks

- Allocated Tasks

- De-assign Allocated tasks

- Update Task Status

### 4. Employee (NON-ADMIN)
- Dashboard

- Update Task Status

---
## Technologies Used
### Backend
- [Live API](https://service-ticketing-system-api.onrender.com/welcome/api) deployed on [Render](https://render.com/)
- [Docs](https://documenter.getpostman.com/view/22237577/2s93RZNqMd)
- **Note**: The API is rate limited to 100 requests per 15 minutes per IP address.

1. NodeJS
2. ExpressJS
3. Multer
4. MongoDB
5. Mongoose
6. TypeScript
7. Cloudinary
8. Express-Rate-Limiter
### Frontend
- [Live Site](https://service-ticketing-system.vercel.app/) deployed on [Vercel](https://vercel.com/)
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
```bash
cd backend
npm install
```
2. Create a .env file in the root directory of the backend folder and add the following environment variables
```bash
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
```
3. Run the server
```bash
npm run dev
```
The server will start running on port `3000`
---
### Frontend
1. Install Dependencies
```bash
cd frontend
npm install
```
2. Create a .env file in the root directory of the frontend folder and add the following environment variables
```bash
VITE_API_URL = http://localhost:3000
```
3. Run the server
```bash
npm run dev
```
---
### WIP [Angular CLient](https://service-ticketing-system-bql1.vercel.app)
---