Table of Contents
NotifyMe is a Python Flask framework project designed as an API. It offers user registration and login functionalities, allowing users to receive a JSON Web Token (JWT) for authentication. With this token, users can subscribe to weather reports.
The weather reports provided by NotifyMe are customizable. Users have the option to receive hourly reports for each day or obtain daily data for an entire week. The project uses PostgreSQL to store user information and event data, while weather data is stored in MongoDB.
To automate tasks, NotifyMe utilizes Celery, a distributed task queue system. Celery runs periodic tasks to retrieve location information for a specified city and fetches weather forecasts from the OpenMeteo API. The retrieved data is then formatted and sent to users via email.
If you require additional information about the available routes and endpoints, you can visit the /api/help route, which provides details on all accessible endpoints.
This is how you can set up this project locally.
- docker
- docker-compose
- Python
- Clone the repo
git clone https://github.com/lk36875/notifyme.git
- Enter notify directory
cd notify
- Create .env file following instructions from example_env file.
- Run docker-compose
docker-compose up -d
- Containers will be created, with Flask endpoints available at http://localhost:5000/.
Distributed under the MIT License. See LICENSE.txt
for more information.
Łukasz Główka - LinkedIn
Project Link: https://github.com/lk36875/notifyme