A full-stack web application for managing airport operations, flight bookings, and administrative tasks.
This project is a comprehensive airport management system built with:
- Frontend: React
- Backend: Node + Express.js
- Database: MySQL
-
User Authentication
- Login/Registration system
- Password encryption
- Blacklist system for suspicious emails
-
Flight Booking
- Search available flights
- Book tickets with seat selection
- Cancel bookings
- View alternative flights for cancelled bookings
- Dynamic pricing based on seat availability
-
Admin Panel
- Flight schedule management
- Runway conflict prevention
- Route monitoring
- Dynamic pricing controls
-
Real-time Information
- Weather updates
- Security alerts
- Travel guidelines
- Health protocols
-
Clone the repository
-
Install dependencies:
# Frontend cd frontend npm install # Backend cd ../backend npm install
-
Set up environment variables: Create a
.envfile in the root directory with:DB_HOST=localhost DB_USER=your_username DB_PASSWORD=your_password DB_NAME=ams PORT=3000 -
Set up the database:
mysql -u root -p < database/project.sql mysql -u root -p < database/triggers.sql mysql -u root -p < database/functions.sql mysql -u root -p < database/views.sql
-
Start the applications:
# Backend cd backend node src/app.js # Frontend cd frontend npm run dev
- Password hashing using bcrypt
- Email blacklist system
- Protected admin routes
- Triggers for seat management
- Stored procedures for alternative flight search
- Dynamic pricing algorithm
- Runway conflict prevention
- Responsive design
- Real-time form validation
- Interactive booking interface
- Admin dashboard