A comprehensive full-stack web application that provides real-time flight price predictions using machine learning capabilities. The application integrates a user-friendly frontend with FastAPI backend and employs Random Forest algorithms for accurate pricing predictions.
- Real-time flight price prediction
- Price categorization (budget, moderate, expensive)
- Interactive data visualizations using Plotly.js
- Auto-suggestion input for destinations
- JWT authentication for secure access
- Rate limiting for DDOS protection
- Server-side rendering for optimal performance
- Next.js 14
- React
- TailwindCSS
- shadcn/ui, aceternity-ui, magic-ui
- Plotly.js for data visualization
- Zod for input validation
- FastAPI
- JWT authentication
- PostgreSQL with Prisma ORM
- SerpAPI integration for real-time flight data
- Random Forest model with 84.10% accuracy
- pandas for data processing
- scikit-learn for model implementation
-
Client Layer (Frontend):
- Server-side rendering (SSR)
- Responsive design
- Type-safe server actions
- Form validation with Zod
-
Server Layer (Backend):
- RESTful API endpoints
- JWT middleware
- Connection pooling
- Rate limiting protection
- First Contentful Paint (FCP): < 500ms
- API response time: Optimized with caching
- Data processing: Efficient with connection pooling
- Model prediction accuracy: 84.10%
- JWT authentication required for protected routes
- Rate limiting middleware for DDOS protection
- Input validation on both client and server side
- Secure API endpoints with proper error handling
# Clone repository
git clone [repository-url]
# Install dependencies
npm install
# Environment setup
cp .env.example .env
# Run development server
npm run devEssential endpoints:
POST /api/v1/auth/signUp: User registrationPOST /api/v1/auth/signIn: User authenticationGET /api/v1/flight-prices/destinations: Get available destinationsPOST /api/v1/prediction: Generate flight price predictions
Full API documentation available at localhost:8000/docs
- Xuan Tuan Minh Nguyen
- Ba Viet Anh (Henry) Nguyen
- Trong Dat Hoang
- Please follow license in LICENSE.md file
- FastAPI documentation and community
- Next.js documentation
- Zeppelin Universität for the dataset