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

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

Awesome Lists containing this project

README

          

# MyChatApp - Android App


App icon


Global instant chat app




CI badge sign

## 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


Home screen
Game screen

## Contributing

You can help the project by reporting bugs and making suggestions [here](https://github.com/CarlosCGA/mychatapp/issues).