_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