Binar Air is a web-based flight booking platform designed to simplify the process of booking airline tickets for both one-way and round-trip journeys. Inspired by popular platforms like Traveloka and Tiket.com, Binar Air offers a comprehensive set of features to enhance the user experience, from booking tickets to managing them digitally.
- Authentication & Authorization: Secure login and registration for personalized user experience.
- Hero Banner & Promo Banner: Display of flight information and promotions.
- Full Search & Two-Full Search: Search functionality for one-way and round-trip routes.
- Airport Filter: Customizable searches based on departure and destination airports.
- Departure and Return Date: Filters for departure and return dates for round-trip searches.
- Passenger Count Adjustment: Allows adjustment of passenger count, including flight class and passenger type.
- Booking: Streamlined ticket booking process.
- Personalize the Number of Passengers: Customize bookings for different group sizes.
- Personal Information: Users can enter passenger details and select seats.
- Baggage Options: Options for selecting baggage according to travel needs.
- E-ticket and Boarding Pass: Digital e-tickets and boarding passes for convenience.
- History: Save and view booking and transaction history.
- Online Check-in: Check-in online using last name and reference code.
- Digital E-ticket and Boarding Pass: Receive e-tickets and downloadable boarding passes in PDF format.
- Successful Booking & Check-in Notification: Immediate notifications on booking or check-in status.
- Boarding Pass Download Process: Easy download of boarding passes with flight details.
- User Profile Data and Photo Updates: Update personal data and profile photos.
- Admin Page: Manage and monitor flight, passenger, and user data through an intuitive admin interface.
- CRUD Operations: Manage data for various entities including country, city, role, notification, age category, and more.
- Java: Backend development with Spring Boot.
- Spring Boot: Framework for building the backend services.
- Spring Security: Security configuration and authentication.
- PostgreSQL: Relational database management.
- Firebase: Real-time data synchronization.
- Docker: Containerization and deployment.
- Microsoft Azure: Cloud hosting and scalability.
- Jasper Report: Report generation and management.
- Junit5: Unit testing for reliable code.
- Mockito: Mocking for testing.
- Swagger: API documentation and testing.
- Java 11 or later
- Docker
- PostgreSQL
- Microsoft Azure account
- Clone the repository:
git clone https://github.com/qyu4x/binar-air-backend-api
- Navigate to the project directory:
cd ./binar-air-backend-api
- Build and run using Docker:
docker-compose up --build
- Access the application at http://localhost:8080.
- Swagger Documentation: Access the API documentation at Swagger UI http://localhost:8080/swagger-ui.html.
- Unit Tests: Execute unit tests using JUnit5 and Mockito:
./mvnw test
- Video Demo: Watch the demonstration video here.
- Repository Backend: Check out the Binar Air API GitHub Repository.
- Repository Front End: Check out the Binar Air API GitHub Repository.