Skip to content

lk36875/notifyme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIT License


Logo

NotifyMe

REST API that provides weather notification for registered users.

Table of Contents
  1. About The Project
  2. Getting Started
  3. License
  4. Contact

About The Project

Day Hour

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.

(back to top)

Built with:

  • Flask
  • Celery
  • MongoDB
  • PostgreSQL
  • SQLalchemy
  • Docker
  • Pytest
  • Github Actions

(back to top)

Getting Started

This is how you can set up this project locally.

Prerequisites

  • docker
  • docker-compose
  • Python

Installation

  1. Clone the repo
    git clone https://github.com/lk36875/notifyme.git
  2. Enter notify directory
    cd notify
  3. Create .env file following instructions from example_env file.
  4. Run docker-compose
    docker-compose up -d
  5. Containers will be created, with Flask endpoints available at http://localhost:5000/.

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Łukasz Główka - LinkedIn

Project Link: https://github.com/lk36875/notifyme

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published