Welcome to the Airport Api Service! This project showcases your proficiency in designing and implementing a comprehensive API solution for airport-related functionalities. Below is an enhanced guide to help you get started and contribute to the project.
-
JWT Authentication: Secure your API with JSON Web Token (JWT) authentication.
-
Email Verification of Users: Verify user emails to enhance security and ensure the validity of user accounts.
-
Email Host Via smtp.gmail.com: Utilize smtp.gmail.com as the email host for sending verification emails.
-
Throttling: Implement throttling mechanisms to control and limit request rates for improved system stability and security.
-
Admin Panel: Effortlessly manage various aspects of the system through an intuitive admin panel.
-
API Documentation: Explore comprehensive API documentation available at
/api/doc/swagger
for clear insights into endpoints and functionality. -
Task Management: Efficiently manage tasks, including:
-
Orders and Tickets
-
Creating Airplanes, Airports, Routes, Crew
-
Managing Flights
-
Adding Flights with Crew
-
Filtering Airports by City
-
Filtering Routes by Source, Destination
-
Filtering Flights by Routes, Date
-
Filtering Crew by First Name, Last Name
-
To set up and run the project locally, follow these steps:
Create a .env
file in the root of your project and define the necessary variables. You can use .env.sample
as a template.
-
Clone the Repository:
git clone https://github.com/AnyoneClown/Airport-API-Service.git
-
Install Dependencies:
pip install -r requirements.txt
-
Apply Database Migrations:
python manage.py migrate
-
Fill the database with data:
python manage.py loaddata airport_service_db_data.json
-
Start the Development Server:
python manage.py runserver
Ensure Docker is installed, and fill in the required environment variables in the .env
file, use .env.sample
as template. Once done, run the following commands:
-
Build the Docker images:
docker-compose build
-
Start the Docker containers:
docker-compose up
To interact with the Airport API Service, follow these steps to create a user and obtain an access token:
- Create User:
Register a new user by making a POST request to
/api/user/register/
- Verify User on your email: Check your email for a verification letter containing a confirmation link. Click on the link to verify your registration.
- Get access token:
Obtain an access token by making a POST request to
/api/user/token/
I welcome contributions to make this project even better. If you're interested in contributing, here's a step-by-step guide:
-
Fork the Repository: Click the "Fork" button on the top right of the repository's page to create your own fork.
-
Create a New Branch: Create a new branch for your feature or bug fix. Be descriptive with your branch name.
-
Implement Your Changes: Make your changes to the codebase. Ensure your code adheres to the project's coding standards.
-
Test Thoroughly: Test your changes rigorously to ensure they work as expected.
-
Submit a Pull Request: When ready, submit a pull request with details about your changes. Provide a clear and concise explanation of the problem and solution.
By following these guidelines, you'll contribute to the success of the Airport Api Service project. Thank you for your contributions!