1 .MVVM - A better architecture.
-
Firebase - FirebaseAuth for authentication of the user.
-
Room DB - It's a local database as like SQlite. Used to store the workshops.
-
SharedPreferences - For checking a user is logged in or not in the splash screen.
-
Navigation Compnent - There are total 5 fragments hosted in one activity. And to manage effcient navigation I used Pop Behaviours(popUpTo() and popUpToExclusinve()).
-
Dark mode compatible , Diffutil for better recycling , Recycler View, viewBinding , object file for common components , LiveData.