Contact Book is an Android application that allows users to manage their contacts efficiently. Users can add new contacts, update existing ones, delete contacts, and sort them by name or date. The app leverages modern Android development technologies such as Dagger Hilt for dependency injection, Jetpack Compose for UI, and Room database for local storage.
Contact.Book.mp4
- Add New Contact: Users can add a new contact with an image, name, phone number, and email.
- Update Contact: Users can update all information of an existing contact.
- Delete Contact: Users can delete a contact.
- Sort Contacts: Contacts can be sorted by name and date.
- Image Compression: When a user uploads an image, it is compressed and converted to a byte array before being saved in the Room database.
- Default Image: If a user does not upload an image, the contact's name's first letter will be shown as the image.
- Make Phone Calls: Directly call a contact from the app.
- Kotlin: The main programming language used to build the app.
- Dagger Hilt: For dependency injection.
- Navigation Component: For in-app navigation.
- Jetpack Compose: For building the UI.
- Room Database: For local data storage.
To use this project, follow these steps:
-
Clone the repository:
git clone https://github.com/Muhammad-Noman59/contact-book.git
-
Open the project in Android Studio.
-
Build and run the project on your Android device or emulator.
-
Add a New Contact:
- Click on the 'Add Contact' button.
- Fill in the contact details (name, phone number, email).
- Optionally, upload an image.
- Click 'Save'.
-
Update a Contact:
- Select a contact from the list.
- Click on the 'Update' button.
- Update the contact details.
- Click 'Save'.
-
Delete a Contact:
- Select a contact from the list.
- Click on the 'Delete' button.
-
Sort Contacts:
- Click on the 'Sort' button.
- Choose to sort by name or date.
Contributions are welcome! Please fork the repository and use a feature branch. Pull requests are warmly welcome.
- Fork the project.
- Create your feature branch (
git checkout -b feature/AmazingFeature
). - Commit your changes (
git commit -m 'Add some AmazingFeature'
). - Push to the branch (
git push origin feature/AmazingFeature
). - Open a pull request.
- Financial Support
)