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
- Vite: Build tool for modern web development
- Clone the repository
docker compose up -d— brings up Postgres, the Django backend (migrations run automatically on boot), and the frontend (built and served via nginx)- Navigate to
http://localhost:8080in your browser - Optional Create a superuser:
docker compose exec web python manage.py createsuperuser
For active frontend development, run it outside Docker so you get Vite's dev server (hot reload, etc.) instead of a static nginx build:
- Bring up just the backend:
docker compose up -d db web - Navigate to the
frontenddirectory - Install dependencies:
pnpm install - Start the dev server:
pnpm run dev - Navigate to
http://localhost:5173in your browser
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