Real-time flight tracking across all your devices
A comprehensive flight tracking platform with mobile apps and Wear OS companion
Aero is a full-stack flight tracking application that brings real-time flight information to your fingertips. Whether you're tracking your own flights, monitoring departures, or exploring aviation data, Aero provides a seamless experience across mobile, web, and wearable devices.
Key Highlights:
- π« Real-time flight tracking with live updates
- π Comprehensive flight statistics and analytics
- π± Native mobile apps with home screen widgets
- β Wear OS companion for quick flight info
- π Modern web interface
- π Secure user authentication and profiles
![]() |
|
![]() |
![]() |
This monorepo is organized into distinct components, each serving a specific purpose in the Aero ecosystem.
The heart of Aero, built with NestJS and TypeScript.
βββββββββββββββββββββββββββββββββββββββββββ
β NestJS REST API Server β
βββββββββββββββββββββββββββββββββββββββββββ€
β β’ JWT Authentication β
β β’ Real-time Flight Tracking β
β β’ Flight Search & Booking Management β
β β’ Airport & Airline Data β
β β’ User Profiles & Statistics β
β β’ Redis Caching Layer β
β β’ Prisma ORM + PostgreSQL β
β β’ OpenAPI/Swagger Documentation β
βββββββββββββββββββββββββββββββββββββββββββ
β οΈ Note: This was used for the initial draft and is no longer actively maintained.
Cross-platform mobile application for iOS and Android.
Features:
- Real-time flight tracking with live updates
- Interactive flight path visualization
- Home screen widgets for quick access
- Detailed flight statistics and analytics
- User authentication and profile management
- Dynamic app icon customization
- Offline data caching
Native Android Wear application for smartwatches.
Modern, responsive landing page built with React and Vite.
Tech:
- React 19 with TypeScript
- Tailwind CSS for styling
- Vite for blazing-fast builds
- Responsive design for all devices
| Tool | Purpose | Tech |
|---|---|---|
scraper/ |
Web scraping for airline data | Playwright + Bun |
scripts/ |
Data management and migrations | TypeScript + Bun |
openapi/ |
Auto-generated API client | Dart (from OpenAPI spec) |
- Real-time Updates - Live flight position and status
- Flight Search - Find flights between any airports
- Path Visualization - See flight routes on interactive maps
- Status Monitoring - Track departures, arrivals, and delays
- Historical Data - Access past flight information
- Booking System - Create and manage flight bookings
- Multi-flight Tracking - Monitor multiple flights simultaneously
- Statistics Dashboard - View comprehensive flight analytics
- Personal Flight History - Track your travel patterns
- Airport Database - Comprehensive airport information
- Airline Directory - Detailed airline profiles
- Aircraft Details - Aircraft specifications and information
- Route Information - Flight route data and statistics
- Authentication - Secure user accounts with JWT
- Personal Profiles - Customizable user profiles
- Flight Statistics - Personal flight analytics
- Custom App Icons - Dynamic icon customization
- Home Widgets - Quick access from your home screen
- Wear OS Integration - Flight info on your wrist
Make sure you have the following installed:
- Node.js 20+ and pnpm 9.15.1+
- Flutter SDK 3.6.0+
- PostgreSQL database
- Redis server
- Bun (for scripts and scraper)
- Android Studio (for Wear OS development)
cd api
pnpm install
cp .env.example .env # Configure your environment variables
pnpm run prisma migrate dev
pnpm run start:devAPI Endpoints:
- API Server:
http://localhost:3000 - API Docs:
http://localhost:3000/docs - Scalar API Reference:
http://localhost:3000/reference
cd app
flutter pub get
flutter runcd landing
bun install
bun run devcd scraper
bun install
bun run index.tscd scripts
bun install
bun run index.tscd api
pnpm run start:dev # Development with hot reload
pnpm run lint # Lint code
pnpm run build # Production buildcd app
flutter run # Run on device/emulator
flutter build apk # Build Android APK, the native configuration isn't done for anything other than androidRegenerate the Dart API client from the OpenAPI schema:
./generate-openapi-client.sh # Generate clientBonus for scrolling so far. Here is the image of my favourite livery.
Copyright: TommyNGB





