AviTrail is a flight logging web application that allows users to track their flights and store flight history. It also enables them to visualize their journeys on an interactive map. The application consists of a Django backend and a Vue 3 frontend.
- User authentication: Secure login with token-based authentication
- Flight Logging: Add, edit, and delete flights
- Flight History: View and search through flight history
- Interactive Map: Visualize flight paths on an interactive map - To be implemented
- REST API: Built using Django REST framework for easy data retrieval and manipulation allowing for future integrations
- Django: Web framework for building the backend
- Django REST framework: Toolkit for building Web APIs
- PostgreSQL: Database for storing flight data
- Docker: Containerization for easy deployment
- Vue 3: JavaScript framework for building the frontend
- Axios: Promise-based HTTP client for making API requests
- TypeScript: Superset of JavaScript for static typing
- Vite: Build tool for modern web development
-
Clone the repository
-
Use docker-compose to initialize the PostgreSQL database
docker compose up -d
-
Run the Django migrations
docker compose exec web python /app/manage.py migrate
'
-
Optional Create a superuser
docker compose exec web python /app/manage.py createsuperuser
-
Navigate to the
frontend
directory -
Install dependencies
pnpm install
-
Start the development server
pnpm run dev
-
Navigate to
http://localhost:5173
in your browserNote: frontend docker setup is in progress
Contributions are welcome! Feel free to open an issue or submit a pull request.
- Airport data provided by mwgg/Airports
- Airline data provided by npow/airline-codes