A full-stack Bug Tracking System built to manage bugs efficiently with secure authentication and role-based access control.
Admins can create and assign bugs, while users can view and complete assigned bugs.
This project focuses on clean backend architecture, security, and performance testing, making it suitable for real-world use.
π Click here to watch the demo video
- JWT-based authentication
- Role-based access:
- Admin
- User
- Create bugs
- Assign bugs to users
- View all bugs
- Track bug status (Open / Completed / In Progress)
- View assigned bugs
- Mark bugs as completed
- Secure logout
- Java
- Spring Boot
- Spring Security
- JWT (JSON Web Token)
- PostgreSQL
- Hibernate / JPA
- React
- Postman (API testing)
- Apache JMeter (Load & performance testing)
- Git & GitHub
- IntelliJ IDEA
- Linux
The application follows a layered architecture:
- Controller Layer β Handles API requests
- Service Layer β Business logic
- Repository Layer β Database operations
- Security Layer β JWT validation & role-based authorization
This structure improves maintainability, scalability, and testability.
- User/Admin logs in
- Backend generates a JWT token
- Token is sent with each protected request
- Backend verifys token and role
- Authorized action is performed
- User logs out and token is deleted from localStorage
- Load testing performed using Apache JMeter
- Measured:
- Average response time
- Percentiles (90th, 95th, 99th)
- Throughput
- Error rate
These results serve as a baseline for future optimizations using Redis and Kafka.
- All REST APIs tested using Postman
- JWT-protected endpoints verified
- Role-based access validated
- Redis caching for faster data access β
- Kafka for asynchronous processing
- Advanced monitoring & metrics
- Pagination and filtering
- Dockerized deployment
Raju Das | Backend Engineer.