Birthdays

This application is a birthday reminder which its job is to take user's input birthday and notifying a day before the birthday. User can separate person in 3 types of groups (Family, friend, work). With this feature, user can filter birthdays in the main page.

Motivation

I always forget everyone's birthday so it came to my mind to make an app which reminds me their birthday. Also I wanted to try doing better in MVVM and using new libraries.

What I learned

I tried my best to make this app with all I know about MVVM architecture and kotlin language. In this application I learned about DI and used hilt as dependency injection library, view binding, work manager (which couldn't help me in this app, so I deleted the codes; But I learned it) and also did my best to write more readable, extendable and reuseable code. The features I used in this app are:

  • MVVM architecture
  • Hilt library for DI
  • Navigation component with single activity architecture
  • RxJava 2 as an asynchronous programming
  • Room database
  • Lottie, shimmer, circle image view, glide, and simple crop view libs.

Coming soon

  • Showing incoming birthdays within a week
  • Ability to add new groups with other colors
  • Showing a monthly calendar for birthdays which has a better visual experience
  • Ability o make a profile in order to sync datas with server
  • New feature called "Birthday card" which user can say any greetings they want among assumptions, then choosing one of the wallpapers, and sending the card to people.