_ORIGIN APP: https://www.messenger.com
I am creating a clone of an existing application to study Android development features
The database used was the android's internal storage with SQL. Everything included was done as a means of studying android development.
messenger_clone/app/src/main/java/dev/bellu/messenger_clone
├── data
│ ├── contracts
│ └── MessengerDao.kt
│ ├── database
│ └── MessengerDatabase.kt
│ ├── entity
│ └── AdvertisingEntity.kt
│ └── ConversationEntity.kt
│ └── MessageEntity.kt
│ └── UserEntity.kt
│
├── di
│ └── AppModule.kt
│ └── ViewModelModule.kt
│
├── presentation
│ ├── composables
│ └── AppBar.kt
│ └── BottomBarCustom.kt
│ └── ChatPreview.kt
│ └── CircleAvatarCustom.kt
│ └── PersonView.kt
│ └── ReceiveMessage.kt
│ └── SendMessage.kt
│ ├── screens
│ ├── advertising
│ └── AdvertisingScreen.kt
│ └── AdvertisingViewModel.kt
│ ├── chat
│ └── ChatScreen.kt
│ └── ChatUiState.kt
│ └── ChatViewModel.kt
│ ├── friends
│ └── FriendsScreen.kt
│ └── FriendsViewModel.kt
│ ├── home
│ └── HomeScreen.kt
│ ├── settings
│ └── SettingsScreen.kt
│ ├── welcome
│ └── WelcomeScreen.kt
│ ├── shared
│ └── AppState.kt
│ └── BaseUiState.kt
│ └── BaseViewModel.kt
│ ├── theme
│ └── Color.kt
│ └── Theme.kt
│ └── Type.kt
│
├── AppNavGraph.kt
├── MainActivity.kt
├── MessengerApplication.kt
The user of the application is automatically added with the first user in the database table must have a user in the database.
- Add to internal database.
- Open the application.
Users need to be manually added to the database to become contacts in the application.
- Access the contacts section in the application.
- Add the desired contacts manually.
- Contacts are stored in Android's internal database.
With all the contacts added, users can start conversations by accessing the conversations page and selecting the desired contact.
- Navigate to the friends section.
- Select the desired contact.
- Start the conversation.
Ads need to be added to the database, similar to the process of adding users and contacts.
- Access the ads section in the app.
- Add the ad details manually.
- The ads are stored in Android's internal database.
- Kotlin with Jetpack Compose
- SQL
- Navigation Compose
- Coil Compose
- Room (Database SQL)
- Livedata
- Koin (Injection Dependency)
- MVVM
- Singleton
- Clean Architecture