- Ensure safe and efficient flight navigation by addressing critical challenges.
- Optimal Path Finding: Utilized the Dijkstra algorithm for efficient route planning.
- Weather Alert: Developed a mechanism to find optimal paths in case of adverse weather conditions along the route.
- Emergency Landing: Implemented functionality to locate the nearest airport if no viable path exists or in case of system failure.
- Collision Avoidance: Ensured that no flights cross each other by using reserved coordinates.
- Real-time Data Update: Integrated socket.io for real-time data updates.
- Multiple Systems Management: Enabled pilots to manage multiple airplanes across different systems with real-time updates via socket.io.
- Random Weather Update (Hack): Incorporated a feature to simulate random weather updates.
- Weather Point Update (Hack): Added the ability to update weather conditions at specific coordinates.
- airPortName
- x
- y
- airPlaneName
- health
- x
- y
- departureAirport
- destinationAirport
- airPlaneName
- reserveCord: array of [x,y]
- departureTime
- destinationTime
- x
- y
- weather
- reserve
- Emits a list of non-reserved airplanes and a confirmation message to the client.
- Emits a list of all airports and a confirmation message to the client.
- Emits initial data including coordinates, flights, airports, and non-reserved airplanes. Listens for weather change events to update and emit new coordinates and flight data.
- Emits all flights to the client and listens for flight details requests, flight creation, and flight start events. Manages flight paths, including handling weather conditions and rerouting if necessary.
To run this application locally, follow these steps:
# Clone the repository
git clone https://github.com/anuragdw710/AIRBUSAerothonBackend
# Navigate to the project directory
cd AIRBUSAerothonBackend
# Install dependencies
npm install
# Run the application
npm start