AeroVerve is a microservice-based airline booking system designed to provide a seamless flight booking experience to users. This microservice handles flight bookings, payments, and cancellations. It's part of the larger AeroVerve project, contributing to its functionality.
AeroVerve Airline Booking Microservice is a part of the AeroVerve project, a comprehensive airline booking system utilizing microservices and MVC architecture. This microservice focuses on flight bookings, payments, and cancellations.
- Create flight bookings with user and flight details.
- Process payments securely and efficiently.
- Handle booking cancellations and manage seat availability.
- Integrate with a message queue for notifications.
- Utilize a scheduled task to manage booking expiration.
- Node.js and npm installed.
- A working database (e.g., MySQL, PostgreSQL) with necessary credentials.
- RabbitMQ or another message queue server set up for notifications.
-
Clone this repository to your local machine.
git clone https://github.com/SudoKMaar/aeroverve-booking-service.git
-
Navigate to the project directory.
cd aeroverve-booking-service
-
Install dependencies.
npm install
-
Configure environment variables.
- Create a
.env
file based on.env.example
and set necessary environment variables.
- Create a
-
Run database migrations.
npx sequelize-cli db:migrate
-
Start the microservice.
npm start
- The microservice provides endpoints to create flight bookings, process payments, and manage cancellations.
- Use the API documentation to understand the available endpoints and request/response formats.
- Ensure that the message queue is correctly set up to receive booking notifications.
- Scheduled tasks are in place to manage booking expirations.
AeroVerve follows a microservice-based architecture, utilizing the MVC pattern. Key components include:
- Controllers: Handle incoming requests, process data, and invoke services.
- Services: Contain the core business logic, interacting with repositories and external services.
- Repositories: Manage database operations, encapsulating data access logic.
- Message Queue: Used for sending notifications about booking events.
- Scheduled Tasks: Manage booking expiration and other time-based operations.
We welcome contributions to AeroVerve! To contribute, follow these steps:
- Fork the repository.
- Create a new branch for your feature/fix.
- Implement your changes.
- Commit your changes and push to your fork.
- Create a pull request to the main repository.
This project is licensed under the MIT License.
AeroVerve - Elevating Flight Booking Experiences