A production-ready RESTful API for managing flight bookings and user authentication. Built with Spring Boot and PostgreSQL, the API provides comprehensive flight management, secure user registration with profile image uploads, seat reservations, and financial transactions. It implements JWT authentication with two-factor authentication (2FA) for enhanced security, Redis caching for performance optimization, and includes malware scanning for all uploaded files.
Key Features:
- Authentication & Security — JWT tokens with 2FA via one-time codes, password recovery with email verification, BCrypt password hashing
- User Management — User registration, profile editing, secure image uploads with malware detection via external scanning service
- Flight Operations — Create, retrieve, and manage flight information with detailed airline data, pricing, and seat availability
- Seat Management — Dynamic seat allocation with business and economy class separation, real-time availability tracking
- Booking System — Seamless flight booking with seat selection, reservation cancellation, and booking history retrieval
- Caching Layer — Redis integration for optimized database queries and improved API response times
- Testing & Quality — JUnit 5 and Mockito for comprehensive unit testing with high code coverage
- Containerization — Full Docker support with Docker Compose for easy local development and deployment