Skip to content

backendRain/python-flask-weather-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Full-Stack Weather Dashboard

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]

Real-Time Weather Data:

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.

Unit Conversion:

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:

Backend

Python:

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.

Flask-SQLAlchemy:

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).

Frontend:

React:

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.

CSS3:

Custom styling for a modern, responsive "glassmorphism" design.

About

Full Stack Weather app using flask

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published