This is a Weather Web Application developed as part of the final project for the BSc Software Engineering program at Cardiff University, UK. The app is currently in its early stages of development and is built using the MERN stack (MongoDB, Express.js, React, Node.js).
- Weather Predictions: Accurate weather data for any location using the OpenWeather API.
- Weather Forecasts: Detailed multi-day weather forecasts.
- Weather Alerts: Real-time alerts for severe weather conditions.
- Educational Tool: Designed to be user-friendly and ideal for students learning about weather prediction and meteorology.
- Eye-Catching Design: A beautifully designed and visually appealing interface for an engaging user experience.
- Frontend: React.js
- Backend: Node.js with Express.js
- Database: MongoDB
- API Integration: OpenWeather API
- Styling: CSS, Tailwind CSS (or other frameworks, if applicable)
- Clone the repository:
git clone <repository-url>
- Navigate to the project directory:
cd weather-web-app
- Install dependencies for both frontend and backend:
cd client && npm install cd ../server && npm install
- Set up environment variables:
- Create a
.env
file in theserver
directory. - Add the following variables:
PORT=5000 MONGO_URI=<your-mongodb-connection-string> OPENWEATHER_API_KEY=<your-openweather-api-key>
- Create a
- Run the application:
- Start the backend:
cd server && npm start
- Start the frontend:
cd client && npm start
- Start the backend:
- Open the app in your browser at
http://localhost:3000
.
- Enter a location to view current weather data.
- Access detailed forecasts for the upcoming days.
- Stay informed with real-time weather alerts.
- Explore the app's educational content for better understanding of weather-related topics.
- User Accounts: Add functionality for users to save locations and preferences.
- Advanced Visualizations: Incorporate graphs and charts for weather trends.
- Mobile Responsiveness: Optimize the app for seamless use on mobile devices.
- Localization: Support for multiple languages.
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
This project is licensed under the Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) LICENSE.
- OpenWeather for providing weather data through their API.