ChatApp is a modern and efficient messaging application designed with the Model-View-ViewModel (MVVM) architectural pattern and powered by Google's Firestore database. It aims to provide a seamless and intuitive user experience with robust messaging features.
• Messaging: Send and receive text messages, images, and videos. • Group Chats: Create and manage groups to stay connected with multiple users. • Location Sharing: Share your location with friends and family. • Profile Customization: Personalize your profile with a custom avatar and status. • Push Notifications: Receive real-time updates on messages and notifications. • Responsive UI: Clean and responsive user interface for quick and easy navigation.
ChatApp is built using the MVVM architectural pattern, which separates the application into three main components:
- Model: Interacts with the Firestore database to provide the necessary data.
- ViewModel: Contains the business logic of the app, manipulating data received from the Model and exposing it to the View.
- View: Displays the UI to the user, offering a seamless and intuitive experience.
The data layer responsible for interacting with the Firestore database. It handles all CRUD operations and provides data to the ViewModel.
Contains the business logic of the application. It manipulates data received from the Model and prepares it for the View. The ViewModel also handles user interactions and updates the Model accordingly.
Responsible for displaying the UI. It observes data from the ViewModel and updates the UI components in response to data changes, providing users with an interactive and responsive experience.
• Sign up or log in to start using ChatApp. • Create new chats or join existing groups. • Send and receive messages, share media, and customize your profile.
We welcome contributions from the community! To contribute to ChatApp, please follow these steps:
- Fork the repository.
- Create a new branch (git checkout -b feature/your-feature).
- Make your changes.
- Commit your changes (git commit -m 'Add some feature').
- Push to the branch (git push origin feature/your-feature).
- Open a pull request.
Thanks to the Firebase team for their excellent Firestore database. Inspired by modern messaging apps for feature ideas and UI design.