This project is a ticketing system API built with FastAPI. It provides functionalities for user registration, authentication, ticket management, and role-based access control.
- User registration for regular users.
- User registration for admin users.
- User login and logout.
- Get current user information.
- Create tickets (admin only).
- Get all tickets (admin only).
- Token-based authentication.
- Role-based access control (RBAC).
- Endpoints for all authenticated users.
- Endpoints for admin users only.
- Get ticket by ID (currently implemented by subject).
- User profile management (e.g., update profile, change password).
- User deactivation and deletion.
- Update ticket by ID.
- Delete ticket by ID.
- Assign ticket to a user.
- Get tickets assigned to a user.
- Add comments to tickets.
- Email notifications for new tickets and updates.
- Search tickets by keyword.
- Filter tickets by status, priority, and assignee.
- A dashboard for users to view their tickets.
- A dashboard for admins to view all tickets and statistics.