Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ndenicolais/contactlist

Android application built with Kotlin and Jetpack Compose that shows how to perform CRUD operations in the Room database using Android Architecture Components and the MVVM Architecture Pattern.
https://github.com/ndenicolais/contactlist

android compose contacts crud jetpack-compose kotlin room room-database

Last synced: 7 days ago
JSON representation

Android application built with Kotlin and Jetpack Compose that shows how to perform CRUD operations in the Room database using Android Architecture Components and the MVVM Architecture Pattern.

Awesome Lists containing this project

README

        

# Contact List
> Author: Nicola De Nicolais

## 📄 Description
Android application built with Kotlin and Jetpack Compose that shows how to perform CRUD operations in the Room database using Android Architecture Components and the MVVM Architecture Pattern.

## 🔨 How to install and run the project
Clone this repository :

`
git clone https://github.com/ndenicolais/ContactList.git
`

Import the project into Android Studio :

1. File -> New -> Import Project
2. Browse to
3. Click "OK"

Create a new virtual device or connect an Android device to your computer.
Click Run to start the project on the selected device.

## 🛠️ Built with
Kotlin
Jetpack Compose
Room
Date Picker
Coil

## 📚 Package Structure

```
com.denicks21.contactlist # ROOT PACKAGE

├── activities # ACTIVITIES FOLDER
| ├── EditContactActivity # Activity to add or edit a user.
| ├── IntroActivity # Splashscreen of the app.
|
├── composables # COMPOSABLES FOLDER
| ├── ActionItem # Topbar item.
| ├── CustomAlertDialog # Custom alert dialog.
| ├── CustomTextField # Custom TextField.
| ├── DatePicker # Component that allow to select a date.
| ├── ImagePicker # Component that allow to select an image.
|
├── repositories # REPOSITORIES FOLDER
│ ├── ContactsRepository # Repository operations.
|
├── roomdb # ROOM DB FOLDER
│ ├── Contacts # Contact model.
│ ├── ContactsDao # Contact DAO.
│ ├── ContactsDatabase # Contact Database.
|
├── ui # UI FOLDER
│ ├── theme # THEME FOLDER
| │ ├── Color # Color palette used by the app.
| │ ├── Shape # Components shapes of Compose used by the app.
| │ ├── Theme # Theme used by the app.
| │ ├── Type # Typography styles for the fonts used by the app.
|
├── utils # UTILS FOLDER
│ ├── Converters # Class that convert date and time.
│ ├── Validation # Class that verify user information.
|
├── viewmodels # VIEWMODELS FOLDER
│ ├── ContactViewModel # Model that interact with repository class.
|
├── MainActivity # Main activity
```

## 📎 Screenshots