ResolveOS is a highly scalable, secure, and role-based ticket management system with a React.js frontend and Node.js + Express backend, connected to MongoDB and secured with JWT Authentication.
The platform supports Admin, Support Engineer, and User workflows with a clean permission-driven architecture. π
- Secure login & registration using JWT
- Role-based access (user, support, admin)
- Protected routes using middleware
- Admin-only actions like user management & ticket assignment
- View all registered users (excluding passwords)
- View all tickets with assigned user/support details
- Assign tickets to support engineers
- Delete user/support safely
- Prevents deleting admins
- Prevents deleting yourself
- Automatically resets assigned tickets when a support engineer is deleted
- View tickets assigned to them
- Update ticket status (
open,in-progress,resolved,closed) - Add comments to tickets
- Collaborate with users via comment threads
- Create new support tickets
- Choose priority & category
- View their own ticket history
- Check ticket status in real time
- Add comments for clarifications
- View complete ticket details with populated user/support/comment info
| Layer | Technology |
|---|---|
| Frontend / UI | React.js (dynamic & responsive interface) |
| Backend | Node.js, Express.js |
| Database | MongoDB + Mongoose |
| Auth | JWT (JSON Web Tokens) |
| Security | bcryptjs for hashing passwords |
| Architecture | MVC Pattern |
Handles login, registration, token generation & role-based permissions.
Manages system-level tasks such as assigning tickets & managing users.
Allows support engineers to resolve tickets, update statuses, and communicate.
Handles ticket creation, updates, comments, and retrieval.
Validates JWT and attaches authenticated user to req.user.
Ensures only permitted roles access specific routes.
- Admin β manage users, assign tickets
- Support β update statuses, add comments
- User β create & view their own tickets
nameemailpassword(hashed)roleβuser|support|admin
title,descriptionpriorityβ low | medium | highstatusβ open | in-progress | resolved | closedcategoryuser(creator)assignedTo(support engineer)comments[]with text, sender, timestamp
| Role | GitHub Username | Name |
|---|---|---|
| β Team Leader | @Shruti627 | Shruti P. Sangvikar |
| π¨βπ» Collaborator | @Atharv342 | Atharv |
| π¨βπ» Collaborator | @NinadUbale | Ninad Ubale |
| π¨βπ» Collaborator | @Sham1718 | Sham |
β¨ Special thanks to all contributors who helped make ResolveOS robust and scalable!
- π JWT Auth
- π₯ Three roles with strict permission layers
- π« Ticket lifecycle management
- π¬ Commenting system
- π Auto-cleanup when deleting users
- π‘ Fully API-driven backend
- βοΈ Clean & modular MVC architecture
- π» React.js frontend for responsive UI
This project is created for academic purposes by the ResolveOS team.
It can be used for learning, research, and non-commercial use only.
Β© 2025 ResolveOS Team