This project is a web application for tracking flight details. It uses a React frontend and a Node.js backend, with MongoDB for data storage and Firebase for messaging. The application fetches flight details via APIs and displays them in an interactive UI.
- React: Frontend library for building user interfaces
- Node.js: Backend runtime environment
- Express: Web framework for Node.js
- MongoDB: NoSQL database for storing flight data
- Firebase: Platform for sending notifications and messages
- Axios: HTTP client for making API requests
- Fetches and displays flight details from a public API
- Stores flight data in MongoDB
- Uses Firebase for sending notifications
- Interactive and responsive UI built with React
Ensure you have the following installed on your machine:
- Node.js (version 12 or later)
- MongoDB
- Firebase CLI (optional, for advanced usage)
-
Clone the repository:
git clone https://github.com/yourusername/flight-tracking.git cd flight-tracking
-
Install dependencies for the frontend and backend:
npm install cd flight-backend npm install cd ..
-
Set up MongoDB:
- Start your MongoDB server.
- Import the provided MongoDB Compass Database file if necessary.
-
Configure Firebase:
- Set up a Firebase project and obtain the configuration file.
- Replace the Firebase config in the project with your own.
-
Run the backend server:
cd flight-backend node server.js
-
Run the frontend:
npm start
- Access the application in your browser at
http://localhost:3000
. - The main page will display flight details fetched from the API.
- Use the search functionality to look up specific flights.
- Receive notifications via Firebase messaging (if configured).
Here is a draft for your README.md file, tailored for your flight-tracking project. This will include descriptions of the technology stack, steps to set up the project, and usage instructions.
markdown Copy code
This project is a web application for tracking flight details. It uses a React frontend and a Node.js backend, with MongoDB for data storage and Firebase for messaging. The application fetches flight details via APIs and displays them in an interactive UI.
- React: Frontend library for building user interfaces
- Node.js: Backend runtime environment
- Express: Web framework for Node.js
- MongoDB: NoSQL database for storing flight data
- Firebase: Platform for sending notifications and messages
- Axios: HTTP client for making API requests
- Fetches and displays flight details from a public API
- Stores flight data in MongoDB
- Uses Firebase for sending notifications
- Interactive and responsive UI built with React
Ensure you have the following installed on your machine:
- Node.js (version 12 or later)
- MongoDB
- Firebase CLI (optional, for advanced usage)
-
Clone the repository:
git clone https://github.com/yourusername/flight-tracking.git cd flight-tracking
-
Install dependencies for the frontend and backend:
npm install cd flight-backend npm install cd ..
-
Set up MongoDB:
- Start your MongoDB server.
- Import the provided MongoDB Compass Database file if necessary.
-
Configure Firebase:
- Set up a Firebase project and obtain the configuration file.
- Replace the Firebase config in the project with your own.
-
Run the backend server:
cd flight-backend node server.js
-
Run the frontend:
npm start
- Access the application in your browser at
http://localhost:3000
. - The main page will display flight details fetched from the API.
- Use the search functionality to look up specific flights.
- Receive notifications via Firebase messaging (if configured).
flight-tracking/
├── flight-backend/ # Backend server files
├── public/ # Public assets
├── src/ # React components and frontend logic
├── .gitignore # Git ignore file
├── package.json # NPM package configuration for frontend
├── package-lock.json # NPM lock file for frontend
├── README.md # Project README file
├── MongoDb Compass Database file # Database file for MongoDB
└── .git # Git version control directory
Contributions are welcome! Please open an issue or submit a pull request for any improvements or new features.
This project is licensed under the MIT License. See the LICENSE
file for details.