https://github.com/ardeshirv/airline-ticket-management
Final Project of Software Engineering Internship with Go Programming Language by The Go Dragons Team
https://github.com/ardeshirv/airline-ticket-management
airline-booking airline-management airline-reservation ardeshirv docker echo go golang pdf-generation postgresql
Last synced: 9 months ago
JSON representation
Final Project of Software Engineering Internship with Go Programming Language by The Go Dragons Team
- Host: GitHub
- URL: https://github.com/ardeshirv/airline-ticket-management
- Owner: ArdeshirV
- License: mit
- Created: 2023-06-08T11:56:42.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2025-07-09T16:38:03.000Z (12 months ago)
- Last Synced: 2025-09-09T01:13:58.313Z (10 months ago)
- Topics: airline-booking, airline-management, airline-reservation, ardeshirv, docker, echo, go, golang, pdf-generation, postgresql
- Language: Go
- Homepage:
- Size: 430 KB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Airline Ticket Management System
### Final Project of Software Engineering Bootcamp with Go Programming Language by The Go Dragons Team
## Overview
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.
## Features
- **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.
## Prerequisites
Before you begin, ensure you have the following installed on your machine:
- [Go](https://golang.org/dl/) (1.16 or later)
- [MySQL](https://www.mysql.com/) or any other supported database
- [Docker](https://www.docker.com/) (optional, for containerization)
## Installation
1. **Clone the repository:**
```sh
git clone https://github.com/ArdeshirV/Airline-Ticket-Management.git
cd Airline-Ticket-Management
```
2. **Set up the database:**
Ensure you have a running instance of MySQL (or your preferred database).
```sh
mysql -u root -p
CREATE DATABASE airline_ticket_management;
```
3. **Configure the environment:**
Create a `.env` file in the root directory and configure your database connection and other environment variables:
```env
DB_USER=root
DB_PASSWORD=yourpassword
DB_NAME=airline_ticket_management
DB_HOST=localhost
DB_PORT=3306
```
4. **Install dependencies:**
```sh
go mod tidy
```
5. **Run the application:**
```sh
go run main.go
```
## Usage
Once the application is running, you can use the following endpoints to interact with the system:
- **Booking Management:**
- `GET /bookings` - View all bookings
- `POST /bookings` - Create a new booking
- `GET /bookings/{id}` - View a specific booking
- `PUT /bookings/{id}` - Update a booking
- `DELETE /bookings/{id}` - Delete a booking
- **User Authentication:**
- `POST /register` - Register a new user
- `POST /login` - Login a user
- **Flight Information:**
- `GET /flights` - View all flights
- `POST /flights` - Create a new flight
- `GET /flights/{id}` - View a specific flight
- `PUT /flights/{id}` - Update a flight
- `DELETE /flights/{id}` - Delete a flight
- **Payment Processing:**
- `POST /payments` - Process a payment
## Testing
To run tests, use the following command:
```sh
go test ./...
```
## Contributing
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.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Contact
For any questions or inquiries, please contact ArdeshirV at [e-job(at)protonmail.com](e-job@protonmail.com).
Copyright© 2023 The Go Dragons Team, Licensed under MIT