CI Docker FastAPI PostgreSQL Nginx Python License Release Last Commit Repo Size Stars
A modern, full-stack Weather Reporting System built with FastAPI, PostgreSQL, and a beautiful frontend UI.
This application fetches real-time weather data, stores historical records, and provides a clean API for integration.
π Designed & built by Abdullahi Bundi (Bundlab)
β
Real-time weather data (OpenWeather API)
β
City-based weather search
β
Weather history stored in PostgreSQL
β
RESTful API (FastAPI)
β
Modern, responsive UI
β
Docker & Docker Compose support
β
Production-ready & GitHub-ready
- FastAPI
- Python 3.10+
- SQLAlchemy
- PostgreSQL
- OpenWeather API
- HTML5
- CSS3 (Modern UI)
- JavaScript (Fetch API)
- Docker
- Docker Compose
---bash weather-reporting-platform/ βββ backend/ β βββ app/ β β βββ main.py β β βββ config.py β β βββ database.py β β βββ models.py β β βββ weather.py β βββ requirements.txt β βββ Dockerfile β βββ frontend/ β βββ index.html β βββ style.css β βββ script.js β βββ docker-compose.yml βββ README.md βββ .gitignore
| Method | Endpoint | Description |
|---|---|---|
| GET | /weather/{city} |
Fetch & store real-time weather |
π Interactive Docs available at:
docker-compose up --build
β Backend runs on:
β Frontend:
Open frontend/index.html in your browser
Backend cd backend pip install -r requirements.txt uvicorn app.main:app --reload
1οΈβ£ Clone Repository
git clone https://github.com/bundlab/weather-reporting-system.git
cd weather-reporting-system
2οΈβ£ Add OpenWeather API Key
Edit docker-compose.yml:
OPENWEATHER_API_KEY: your_api_key_here
Get your API key from:
π https://openweathermap.org/api