- Store data about friends/family birthday's.
- Read data about birthdays.
- Understand if today is a birthday (or multiple bdays).
- Handle leap year birthdays.
- Add / Remove / Update birthday/person data.
- Integrate with some notification / messaging API.
- Can send messages to me via that API.
- All implementations must be testable.
- DB Models
- Birthday
- first name
- last name
- month
- day
- note
- dt_created
- dt_updated
- Birthday
- Messaging / API Helper
- Create client / connect to api
- Send message
- Config
- Constants
- Runner
- Db connection objects
- Main function
- Spin up, read config and instantiate logger.
- Read database to get birthdays.
- See if today is a birthday.
- For all birthdays today, notify me and include template message.
- Exit.
- Add a gift tracker / recommender that reminds us to buy gifts.
- Expand to different event types (anniversaries, graduation, etc.)
- Add CLI functionality to interact with db / update data one by one.
- Store sample / default messages so you can copy/paste.
- If your friends are on telegram you may even be able to fully automate this.