Save your friends' birthdays and be reminded of them with notifications.
- Store Birthdays: Efficiently store birthdays in a binary format.
- Reminders: Get desktop notifications for birthdays.
- CLI Interface: Simple command-line interface to add, delete, and list birthdays.
- Automated: Daily cron job checks for birthdays at 10:00 AM and 6:00 PM.
Arch Linux:
sudo pacman -S libnotify cmake make gccUbuntu/Debian:
sudo apt install libnotify-dev cmake make gccThe easiest way to install is using the provided script. This will build the application, install it to ~/.local/bin, and set up the cron job.
./install.shIf you prefer to build manually:
mkdir -p build
cd build
cmake ..
makeThe application stores data in $XDG_DATA_HOME/BirthDayApp/birthdays.dat (usually ~/.local/share/BirthDayApp/birthdays.dat).
BirthDay -i "DD|MM|NAME|SURNAME"Example:
BirthDay -i "15|01|John|Doe"BirthDay -d "DD|MM|NAME|SURNAME"List all birthdays:
BirthDay -lList specific birthday:
BirthDay -l "DD|MM|NAME|SURNAME"This is usually run by the cron job, but you can run it manually:
BirthDay -sThe project is modularized into:
main.c: Entry point and CLI handling.person.c/h: Person data structure.day.c/h: Day data structure.heap.c/h: Min-heap implementation for efficient retrieval.storage.c/h: Binary storage logic.utils.c/h: Helper functions.
Happy coding!