A responsive, data-driven Weather Dashboard application built with a Python (Flask) backend and a React frontend. This project demonstrates the ability to create a full-stack application that integrates with a third-party API, persists data, and presents it in a clean, user-friendly interface. [Live Demo Link Coming Soon]
Fetches and displays current weather information from the OpenWeatherMap API. Search History: The 5 most recent successful city searches are saved to a database and displayed for quick access.
Users can toggle the temperature display between Celsius (°C) and Fahrenheit (°F). The app re-fetches data in the correct units. Responsive Design: The UI is fully responsive and works seamlessly on both desktop and mobile devices. Error Handling: Gracefully handles and displays errors for invalid city names.
Technologies Used:
The core programming language for the server-side logic. Flask: A lightweight and flexible web framework used to build the REST API. SQLite: A serverless, file-based database used for storing the search history.
A Flask extension that provides a powerful Object-Relational Mapper (ORM) for interacting with the database. Requests: The standard Python library for making HTTP requests to the OpenWeatherMap API. python-dotenv: For securely managing environment variables (API key).
A JavaScript library for building the dynamic and component-based user interface. React Hooks: Utilizes useState for state management and useEffect for handling side effects like API calls and unit conversion updates.
Custom styling for a modern, responsive "glassmorphism" design.