Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/juzershakir/birthday_buddies
Reminds birthdays of their loved ones to the user
https://github.com/juzershakir/birthday_buddies
birthday esbuild gregorian hijri hotwire propshaft rails sqlite tailwindcss
Last synced: 17 days ago
JSON representation
Reminds birthdays of their loved ones to the user
- Host: GitHub
- URL: https://github.com/juzershakir/birthday_buddies
- Owner: JuzerShakir
- Created: 2024-07-02T04:46:21.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-09-24T05:00:14.000Z (about 2 months ago)
- Last Synced: 2024-10-09T03:40:54.268Z (about 1 month ago)
- Topics: birthday, esbuild, gregorian, hijri, hotwire, propshaft, rails, sqlite, tailwindcss
- Language: Ruby
- Homepage: https://birthday-buddies.fly.dev/
- Size: 510 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Birthday Buddies
Sending birthday wishes the moment they matter.
## 🧐 Motivation
We all have loved ones with birthdays scattered throughout the year.
Busy lives can make it easy to forget important dates, leading to missed birthday wishes and potential hurt feelings.
Birthday Buddies is your personal birthday manager, ensuring you never miss a loved one's special day again.
### Benefits
- ⭐ **Effortless Reminders**: The app automatically reminds you of upcoming birthdays, taking the mental burden of remembering off your shoulders.
- ⭐ **Meaningful Connections**: Sending timely birthday wishes strengthens relationships with friends and family, showing you care.
- ⭐ **Peace of Mind**: Birthday Buddies eliminates the guilt and stress of forgetting someone's birthday.## 🐦🔥 Production
This application is hosted in the production. You can check it out here: [Birthday Buddies](https://birthday-buddies.fly.dev/)
## 👩💻 Development Setup
Open your terminal and clone this repo into a directory of your choice:
```
[email protected]:JuzerShakir/birthday-buddies.git
```Opening the cloned repository
```
cd birthday-buddies && code .
```> [!Important]
> Before moving forward make sure **you have Ruby 3.3.1 version installed** in your system. [Or Download from here](https://gorails.com/setup)Install all the dependencies
```
bundle install
```### Create database and tables
```
rails db:migrate
```### Setting up an Email
In order to test emails in development environment you need to install `mailcatcher` gem first.
```
gem install mailcatcher
```Now to run the mailcatcher:
```
mailcatcher
```This will output couple of URLs where it will listen for emails. You can visit anyone of the links to check if the emails.
Add mailer credentials to send email to the users:
```bash
EDITOR="code --wait" rails credentials:edit
```add credentials in this format:
```yml
mailer:
email: [email protected]
password: your-app-password
```You will need to generate an app password by visiting to 'App Password' in your google settings and paste it here.
---
## 💡 Contributing
If you have problems, please create a [GitHub Issue](https://github.com/JuzerShakir/birthday-buddies/issues).
Take a look at the [Contributing](CONTRIBUTING.md) document for
instructions on setting up the repo on your machine, understanding the codebase,
and creating a good pull request.Thank you, contributors!
## 💪 Challenges I faced
- Show & open dialog of the right birthday buddy.
- Calculating the right hijri dates with the `hijri` gem as it shows previous date.
- Calculating next gregorian birthday & hijri birthday to set reminders.
- Using the Solid Queue for background jobs. ([Issue](https://github.com/rails/solid_queue/issues/253))
- Sending birthday email reminders to the user exactly on midnight regardless of which time zones they are from.
- Designing UI. (theme, font, navigation flow, responsive layout, etc).## Versioning
Birthday Buddies follows Semantic Versioning 2.0 as defined at https://semver.org.
## License
This code is free to use under the terms of the MIT license.
---