Welcome to the Airline Ticket Management System! This project is designed to manage airline ticket bookings efficiently. Built using Go (Golang), it leverages modern software engineering practices to ensure robust and scalable management of airline tickets.
- Booking Management: Create, view, update, and delete airline ticket bookings.
- User Authentication: Secure user login and registration system.
- Flight Information: Manage flight schedules and availability.
- Payment Processing: Integration with payment gateways for ticket purchases.
- Reporting: Generate detailed reports on bookings and flights.
Before you begin, ensure you have the following installed on your machine:
-
Clone the repository:
git clone https://github.com/ArdeshirV/Airline-Ticket-Management.git cd Airline-Ticket-Management
-
Set up the database:
Ensure you have a running instance of MySQL (or your preferred database).
mysql -u root -p CREATE DATABASE airline_ticket_management;
-
Configure the environment:
Create a
.env
file in the root directory and configure your database connection and other environment variables:DB_USER=root DB_PASSWORD=yourpassword DB_NAME=airline_ticket_management DB_HOST=localhost DB_PORT=3306
-
Install dependencies:
go mod tidy
-
Run the application:
go run main.go
Once the application is running, you can use the following endpoints to interact with the system:
-
Booking Management:
GET /bookings
- View all bookingsPOST /bookings
- Create a new bookingGET /bookings/{id}
- View a specific bookingPUT /bookings/{id}
- Update a bookingDELETE /bookings/{id}
- Delete a booking
-
User Authentication:
POST /register
- Register a new userPOST /login
- Login a user
-
Flight Information:
GET /flights
- View all flightsPOST /flights
- Create a new flightGET /flights/{id}
- View a specific flightPUT /flights/{id}
- Update a flightDELETE /flights/{id}
- Delete a flight
-
Payment Processing:
POST /payments
- Process a payment
To run tests, use the following command:
go test ./...
Contributions are welcome! Please fork this repository and submit pull requests. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License. See the LICENSE file for details.
For any questions or inquiries, please contact ArdeshirV at e-job(at)protonmail.com.
Copyright© 2023 The Go Dragons Team, Licensed under MIT