10+
Downloads
Content rating
Teen
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image
Screenshot image

About this app

My Chat App is a feature-rich, scalable messaging platform built using Kotlin for the frontend, Firebase for real-time database and authentication, and Ktor for efficient API development. Deployed on AWS Elastic Beanstalk, it integrates modern technologies and best practices to ensure high performance and scalability.

Key Features
Authentication
Secure login and registration with Firebase Authentication.

Real-time Messaging
Users can send audio, image, and text messages in real time using Firebase Realtime Database.

Profile Picture Updates
Users can easily change their profile pictures.

View User Information
Displays user profiles and online/offline status.

Online/Offline Status
Real-time indicators show whether users are online or offline.

Push Notifications
Users receive notifications for new messages and important updates through Firebase Cloud Messaging.

Message Status Indicators

Red Indicator: Message delivered but not seen.
Green Indicator: Message viewed.
Logout
Secure logout option to protect user data.

User Search
Enables users to search for others within the app.

Delete Messages
Users can delete messages from both the database and UI.

View Large Images
Users can view full-sized images.

Technologies Used
Kotlin
Used for building the Android frontend with modern, concise, and safe code.

Firebase:

Realtime Database: For real-time chat data syncing.
Firebase Storage: To store images, audio, and other files.
Authentication: For secure user access.
Cloud Messaging: To send notifications to users.
Ktor
A framework used for API development, enabling smooth communication between the client and server.

AWS Elastic Beanstalk
Used to deploy and manage backend services, ensuring scalability and stability.

Retrofit
A type-safe HTTP client for API requests, facilitating smooth communication between the app and server.

OOP Principles
Polymorphism is applied to handle different types of messages, enhancing code flexibility.

Dependency Injection
Tools like Dagger/Hilt are used to manage dependencies, ensuring maintainable and scalable code.

Coroutines
Kotlin Coroutines manage background tasks like sending messages or uploading files, providing a seamless user experience.

Credential Key Management
Secures authorization between the client and server, protecting sensitive data.

Best Practices Implemented
Clean Architecture
Organized codebase for maintainability and scalability.

Dependency Injection
Leveraging Dagger/Hilt to manage dependencies, improving code quality.

Asynchronous Programming
Non-blocking operations with Kotlin Coroutines ensure smooth UI performance.

Security
Proper credential management to protect sensitive user data.

Scalability
Designed to handle an increasing number of users and messages efficiently.
Updated on
Sep 13, 2024

Data safety

Safety starts with understanding how developers collect and share your data. Data privacy and security practices may vary based on your use, region, and age. The developer provided this information and may update it over time.
This app may share these data types with third parties
Personal info, Messages and 3 others
This app may collect these data types
Personal info, Messages and 3 others
Data is encrypted in transit
You can request that data be deleted

What’s new

networking

App support

Phone number
+21655825252
About the developer
AYARI WALID
ayariamen6000@gmail.com
Tunisia
undefined

Similar apps