https://github.com/carloscga/mychatapp
Realtime chat app lets comunicate with anyone all over the world with just one username
https://github.com/carloscga/mychatapp
android-application dagger-hilt firebase fragments kotlin mvvm-architecture realtime-chat xml
Last synced: about 2 months ago
JSON representation
Realtime chat app lets comunicate with anyone all over the world with just one username
- Host: GitHub
- URL: https://github.com/carloscga/mychatapp
- Owner: CarlosCGA
- Created: 2024-09-25T15:26:16.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-10-27T16:43:11.000Z (11 months ago)
- Last Synced: 2024-12-16T23:23:17.229Z (10 months ago)
- Topics: android-application, dagger-hilt, firebase, fragments, kotlin, mvvm-architecture, realtime-chat, xml
- Language: Kotlin
- Homepage:
- Size: 671 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MyChatApp - Android App
![]()
Global instant chat app
![]()
## About
MyChatApp is fully developed by Carlos Cañete in Android Studio using the Android SDK. It is a global app that allows everybody write to everybody.
## Architecture - MVVM (Model-View-ViewModel)
This architecture facilitates the separation of concerns, enhancing code maintainability and scalability by dividing it into three main components:
- Model: It manages the application's data and business logic.
- View: It represents the user interface and displays the data from the ViewModel.
- ViewModel: It acts as an intermediary between the Model and the View, managing presentation logic and updating the UI.## Layout - Jetpack Compose
Modern UI toolkit for building native Android apps using a declarative approach. It simplifies UI development by allowing developers to define how the UI should look directly in code, rather than using XML. It's used to create responsive and dynamic user interfaces more efficiently.
## Dependencies
- `Firebase`: Provides tools for backend services like authentication, database (Firestore, Realtime Database), cloud storage, and push notifications. It enables rapid app development with scalable, serverless solutions and real-time data sync. With built-in analytics and machine learning tools, Firebase supports feature-rich, data-driven Android apps.
- `Realtime Database`: Cloud-hosted NoSQL database that syncs data in real-time across connected clients. It supports offline access, allowing apps to work smoothly even without network connectivity. Ideal for collaborative and dynamic applications, it automatically handles data syncing and updates as users connect or disconnect.
- `LiveData`: Android Architecture Component that allows UI components to observe data changes while respecting their lifecycle, preventing memory leaks and crashes. It updates observers automatically, simplifying reactive UI patterns in MVVM architecture. MutableLiveData enables data updates, while LiveData ensures read-only access from the UI.
- `DaggerHilt`: Simplifies dependency injection by integrating Dagger with the Android components' lifecycle. Hilt automates the creation and management of dependencies, making configuration easier and improving development efficiency in Android.
- `Navigation`: Simplifies in-app navigation, managing fragment and activity transitions, and handling complex navigation flows. It enables safe argument passing between destinations and offers features like deep linking and back stack management. Designed for modularity, Navigation integrates seamlessly with ViewModel and LiveData in an MVVM architecture.## Screenshots
![]()
![]()
## Contributing
You can help the project by reporting bugs and making suggestions [here](https://github.com/CarlosCGA/mychatapp/issues).