{"id":19031376,"url":"https://github.com/ayanavakarmakar/service-ticketing-system","last_synced_at":"2025-07-04T18:10:57.020Z","repository":{"id":168993116,"uuid":"624440900","full_name":"AyanavaKarmakar/service-ticketing-system","owner":"AyanavaKarmakar","description":"User Authentication, Customer Support Request Creation and Administration Action Capability for a Service Ticketing System.","archived":false,"fork":false,"pushed_at":"2025-01-14T13:49:26.000Z","size":1217,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-23T16:51:39.109Z","etag":null,"topics":["angular","angularmaterial","cloudinary","expressjs","headlessui","mongodb","mongoose","multer","nodejs","radix-ui","react","react-hot-toast","react-query","redux-toolkit","render","tailwindcss","typescript","vercel"],"latest_commit_sha":null,"homepage":"https://service-ticketing-system.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AyanavaKarmakar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-06T13:26:51.000Z","updated_at":"2025-04-06T16:18:22.000Z","dependencies_parsed_at":"2025-04-20T08:00:42.035Z","dependency_job_id":null,"html_url":"https://github.com/AyanavaKarmakar/service-ticketing-system","commit_stats":null,"previous_names":["ayanavakarmakar/service-ticketing-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AyanavaKarmakar/service-ticketing-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AyanavaKarmakar%2Fservice-ticketing-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AyanavaKarmakar%2Fservice-ticketing-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AyanavaKarmakar%2Fservice-ticketing-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AyanavaKarmakar%2Fservice-ticketing-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AyanavaKarmakar","download_url":"https://codeload.github.com/AyanavaKarmakar/service-ticketing-system/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AyanavaKarmakar%2Fservice-ticketing-system/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263594623,"owners_count":23485877,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","angularmaterial","cloudinary","expressjs","headlessui","mongodb","mongoose","multer","nodejs","radix-ui","react","react-hot-toast","react-query","redux-toolkit","render","tailwindcss","typescript","vercel"],"created_at":"2024-11-08T21:23:08.397Z","updated_at":"2025-07-04T18:10:56.999Z","avatar_url":"https://github.com/AyanavaKarmakar.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![service-ticketing-system](https://user-images.githubusercontent.com/89210438/231180928-d4df240b-a553-4eb6-a115-ceae39a3ce3f.png)\r\n\r\n---\r\n\r\n## Table of Contents\r\n\r\n- [Monorepo Structure](#monorepo-structure)\r\n- [Screenshots](#screenshots)\r\n  - [Shared](#1-shared)\r\n  - [Customer](#2-customer)\r\n  - [Employee (ADMIN)](#3-employee-admin)\r\n  - [Employee (NON-ADMIN)](#4-employee-non-admin)\r\n- [Technologies Used](#technologies-used)\r\n  - [Backend](#backend)\r\n  - [Frontend](#frontend)\r\n- [Getting Started](#getting-started)\r\n  - [Backend](#backend-1)\r\n  - [Frontend](#frontend-1)\r\n  - [WIP Angular Client](#wip-angular-client)\r\n\r\n---\r\n\r\n## Monorepo Structure\r\n\r\n```bash\r\n.\r\n├── backend [built using Node.js / Express.js]\r\n├── frontend [built using React.js / Vite.js]\r\n├── angular-client [built using Angular (WIP)]\r\n└── nest-client [built using Nest.js (WIP)]\r\n```\r\n\r\n## Screenshots\r\n\r\n### 1. Shared\r\n\r\n- Log in / Sign up Form\r\n\r\n![image](https://user-images.githubusercontent.com/89210438/230794078-811fc7c5-94e4-4005-a733-36d166b8bcfb.png)\r\n\r\n### 2. Customer\r\n\r\n- Dashboard\r\n\r\n![image](https://user-images.githubusercontent.com/89210438/231137302-e5c887b7-f386-430c-9e3d-132717f794e5.png)\r\n\r\n- New Service Request Form\r\n\r\n![image](https://user-images.githubusercontent.com/89210438/230794555-3f91be19-b603-4553-8bdf-a0ad8364cc7b.png)\r\n\r\n- Service Request Form Details\r\n\r\n![image](https://user-images.githubusercontent.com/89210438/230892007-95b90417-f2be-411d-99bb-87454828e8dc.png)\r\n\r\n### 3. Employee (ADMIN)\r\n\r\n- Dashboard\r\n\r\n![image](https://user-images.githubusercontent.com/89210438/230956398-7b1e845e-8d38-4fa6-afb1-3681f3a3bb53.png)\r\n\r\n- Unallocated Tasks\r\n\r\n![image](https://user-images.githubusercontent.com/89210438/230956159-8523a27d-9c77-42dd-9217-26c0d84c8f9f.png)\r\n\r\n- Assign Unallocated Tasks\r\n\r\n![image](https://user-images.githubusercontent.com/89210438/230948213-14614cf1-2018-4a67-b80a-906ce01d78ed.png)\r\n\r\n- Allocated Tasks\r\n\r\n![image](https://user-images.githubusercontent.com/89210438/230956735-d13055ac-ab64-48f6-a66c-66f6a46f5f98.png)\r\n\r\n- De-assign Allocated tasks\r\n\r\n![image](https://user-images.githubusercontent.com/89210438/230948297-cc55591e-773d-486d-96a2-8505db4ff6b9.png)\r\n\r\n- Update Task Status\r\n\r\n![image](https://user-images.githubusercontent.com/89210438/230957136-66f0efb6-b057-4be9-b28b-74019190da9c.png)\r\n\r\n### 4. Employee (NON-ADMIN)\r\n\r\n- Dashboard\r\n\r\n![image](https://user-images.githubusercontent.com/89210438/230956916-9f4dda51-2951-4b1b-930a-7d31cd484f28.png)\r\n\r\n- Update Task Status\r\n\r\n![image](https://user-images.githubusercontent.com/89210438/230957032-6694ec5b-8ba9-46f4-a8ea-e3945a452d86.png)\r\n\r\n---\r\n\r\n## Technologies Used\r\n\r\n### Backend\r\n\r\n- [Live API](https://service-ticketing-system-api.onrender.com/welcome/api) deployed on [Render](https://render.com/)\r\n- [Docs](https://documenter.getpostman.com/view/22237577/2s93RZNqMd)\r\n- **Note**: The API is rate limited to 100 requests per 15 minutes per IP address.\r\n\r\n![image](https://user-images.githubusercontent.com/89210438/230775322-b8035698-4be7-42a3-87c2-f896dfeef512.png)\r\n\r\n1. NodeJS\r\n2. ExpressJS\r\n3. Multer\r\n4. MongoDB\r\n5. Mongoose\r\n6. TypeScript\r\n7. Cloudinary\r\n8. Express-Rate-Limiter\r\n\r\n### Frontend\r\n\r\n- [Live Site](https://service-ticketing-system.vercel.app/) deployed on [Vercel](https://vercel.com/)\r\n\r\n1. React.js\r\n2. TypeScript\r\n3. Tailwind CSS\r\n4. Radix UI\r\n5. Headless UI\r\n6. React Query\r\n7. Redux Toolkit\r\n8. React Hot Toast\r\n\r\n---\r\n\r\n## Getting Started\r\n\r\n### Backend\r\n\r\n1. Install Dependencies\r\n\r\n```bash\r\ncd backend\r\nnpm install\r\n```\r\n\r\n2. Create a .env file in the root directory of the backend folder and add the following environment variables\r\n\r\n```bash\r\nMONGODB_URI=mongodb://localhost:27017/your-database-name\r\nJWT_SECRET=your-secret-key\r\nCLOUDINARY_CLOUD_NAME=cloud\r\nCLOUDINARY_API_KEY=key\r\nCLOUDINARY_API_SECRET=secret\r\n```\r\n\r\n3. Run the server\r\n\r\n```bash\r\nnpm run dev\r\n```\r\n\r\nThe server will start running on port `3000`\r\n\r\n---\r\n\r\n### Frontend\r\n\r\n1. Install Dependencies\r\n\r\n```bash\r\ncd frontend\r\nnpm install\r\n```\r\n\r\n2. Create a .env file in the root directory of the frontend folder and add the following environment variables\r\n\r\n```bash\r\nVITE_API_URL = http://localhost:3000\r\n```\r\n\r\n3. Run the server\r\n\r\n```bash\r\nnpm run dev\r\n```\r\n\r\n---\r\n\r\n### WIP [Angular CLient](https://service-ticketing-system-bql1.vercel.app)\r\n\r\n---\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayanavakarmakar%2Fservice-ticketing-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fayanavakarmakar%2Fservice-ticketing-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayanavakarmakar%2Fservice-ticketing-system/lists"}