Skip to content

sneaky-potato/hbd

Repository files navigation

HBD ·

With more than 800 friends on facebook and otherwise, I felt baffled and helpless having lost the opportunity to wish some of the dear ones.

A birthday reminder flask service

Installing / Getting started

A quick introduction of the minimal setup you need to get the development environment setup

Please use Python  v3.10.4 (you may use pyenv to switch if you're on a different version)

git clone https://github.com/sneaky-potato/hbd.git
cd hbd
python -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
  • Setup a SQL database (I used a postgres database provided by Supabase)
  • Get redis service up and running on the host

Do setup an .env file by taking the reference from .env.example

API Reference

  • [GET] /
  • [POST] /birthday
  • [GET, POST] /birthday/search

/

Basic API to check if the server is up and running or not

{
    'data': 'API is working'
}

/birthday

API for adding birthdays

Request Body (application/json)

{
    "name": "John Doe",
    "bda_day": 1,
    "bday_month": 1
}

/birthday/search

API for searching a birthday from the database

Accepts 3 optional parameters: name, bday_day and bday_month else prints all birthdays

Running the server

Make sure you've configured everything correctly by setting up an .env file, reference for the same is here

  • Locally with Docker compose (requires redis service configured, up and running on the host)
docker compose up --build    

The latest docker image is pushed to dockerhub via dockerhub_push.yml GitHub action

Pull the latest build image using-

docker pull sneakyp0tat0/hbd

Todos

  • Frontend for interacting with the application
  • Authentication setup
  • Automatic importing of birthdays from one's facebook credentials
  • Better customizable emailing service (currently using SMTP password setup of Gmail)

Releases

No releases published

Packages

No packages published