This repository contains the backend of the Helpdesk system, facilitating efficient ticket management within company departments.
- Built with: NestJS + TypeScript
- API: Apollo GraphQL
- Database: Prisma ORM with PostgreSQL
- Caching & Real-time Notifications: Redis
- Role-based Access Control: Admins can assign roles to users
- Ticket Management:
- Create tickets with descriptions, priorities, attachments, and chat logs
- Support staff updates ticket status and resolves issues
- Users can rate support performance (1-5 stars)
- Filtering & Dashboard:
- Filter tickets by status, priority, date, etc.
- View summary stats via dashboard
- User & Group Management:
- Create user groups
- Manage departments and ticket categories
- Checklists: Track progress with checklist items inside a ticket
🔗 (available here)
I developed the backend of this system using NestJS + TypeScript.
Key contributions:
- Built GraphQL API using Apollo Server
- Designed PostgreSQL database schema with Prisma ORM
- Implemented real-time notifications using Redis + GraphQL subscriptions
- Developed role-based access control (RBAC)
- Created API endpoints for managing tickets, users, departments, and categories
- Set up filtering and dashboard logic
git clone https://github.com/Usagi5677/helpdesk-prototype-backend.git
cd helpdesk-prototype-backendnpm installCreate a .env file in the root directory with the following variables:
DATABASE_URL=postgresql://user:password@localhost:5432/helpdesk
REDIS_URL=redis://localhost:6379
PORT=4000Replace user and password with your PostgreSQL credentials.
npx prisma migrate deploynpm run start:devThe server will run at http://localhost:4000.
- Requires PostgreSQL running locally or on a cloud provider.
- Redis is needed for real-time notifications.
- The frontend is required for full functionality (available here).
This project is for portfolio purposes. Do not use it for commercial projects without permission.