Contacts Pro Kotlin is an Android Contacts App that allows you to efficiently manage your Contacts. It lets you view all the Contacts as a list, Add, Update, Delete and View the Contact Details. It is based on Model–View–Viewmodel (MVVM) Architecture.
Contacts Pro Kotlin is composed of 4 main screens - Contacts List, Add New Contact, Contact Details, Edit Contact
The main screen displays the list of all the contacts with their profile picture along with a call button and an email button for each contact.
Add New Contact screen allows the user to add all the details of the contact such as their profile picture, name, phone number and email address. Save button saves all the details and displays the newly created contact on the main screen while cancel button navigates the user back to the main screen without saving any information.
Contact Details allows the user to view the contact's profile picture, name, phone number and email address. It also displays a trash icon on the bottom left to delete the contact and an extended edit floating action button to edit the contact details.
Edit Contact pre-populates the original details of the contact on the screen and allows the user to make necessary changes. Save button saves the contact's new details and cancel button discards the changes.
- Android Architecture Components
- Lifecycles - for Creating a UI that automatically responds to lifecycle events.
- LiveData - to Build data objects that notify views when the database changes.
- Navigation - to Handle everything needed for in-app navigation.
- Room - Access app's SQLite database with in-app objects and compile-time checks.
- ViewModel - Storing UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.
- Dagger 2 for Dependency Injection
- Android KTX to Write more concise, idiomatic Kotlin code.
- Android Data Binding to Bind observable data to UI elements
- Espresso for UI tests
- Mockito for mocking in tests
- Glide for Image Loading
- Timber for Logging
- Animations & Transitions to move widgets and transition between screens.
- AppCompat to Degrade gracefully on older versions of Android.
- Fragment A basic unit of composable UI.
- Layout Lay out widgets using different algorithms.
👩 Aishwarya Kamal
- Github : aishwarya-kamal
Please ⭐️ this repository if this project helped you!