All Projects → mudasiryounas → MyS3Chat

mudasiryounas / MyS3Chat

Licence: other
MyS3Chat – Complete Open Source Real Time Android Chat Application using Firebase

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to MyS3Chat

Whatsup
**Deprecated** Real time chat app written in Swift 4 using Firebase and OTP Authentication
Stars: ✭ 39 (-31.58%)
Mutual labels:  chat-application, firebase-realtime-database
AndroidTutorials
Ejemplos Android [Dagger2,RxJava,MVP,Retrofit2,SQLite]
Stars: ✭ 22 (-61.4%)
Mutual labels:  sqlite, retrofit2
Heal O Chat
Heal-O-Chat is a Social Media Application for people who have been feeling less motivated in life or are losing hope. This platform allows users to chat with people and share their thoughts and feelings with each other and thereby let go of stress, anxiety, and depression that they've been feeling for long.
Stars: ✭ 42 (-26.32%)
Mutual labels:  chat-application, firebase-realtime-database
React Native Firebase Chat
React Native chat application using firebase.
Stars: ✭ 113 (+98.25%)
Mutual labels:  chat-application, firebase-realtime-database
Kripton
A Java/Kotlin library for Android platform, to manage bean's persistence in SQLite, SharedPreferences, JSON, XML, Properties, Yaml, CBOR.
Stars: ✭ 110 (+92.98%)
Mutual labels:  sqlite, retrofit2
Chatapp
Chat App with all functionality private chat, contacts, friends request, find friends,for profile settings image cropper functionality, settings, logout also send text, image and all type of files, delete your files for you and everyone , login with email and mobile number and real time database firebase and for notification purpose Node Js used.
Stars: ✭ 25 (-56.14%)
Mutual labels:  chat-application, firebase-realtime-database
Space
A real time chat app for developers built using React, Redux, Electron and Firebase
Stars: ✭ 161 (+182.46%)
Mutual labels:  chat-application, firebase-realtime-database
FirebaseChatRoom
This application shows how to build (in Swift4) a simple Chat room where users can register, login, send messages to other users etc using Firebase. If you are a developer who has got an interesting idea but could not find a backend developer to take the idea to a product level, then do check out this project as an introductory course to Firebas…
Stars: ✭ 18 (-68.42%)
Mutual labels:  chat-application, firebase-realtime-database
Open Source Android Weather App
☔️ Open source android weather app. See "Issues" tab for current tasks queue. Tasks suitable for beginners are labeled with green "beginner friendly" tags.
Stars: ✭ 81 (+42.11%)
Mutual labels:  sqlite, retrofit2
Android tmdb clean architecture
Showcase of clean architecture concepts along with Continuous Integration and Development for modular Android applications. Includes test suits (functional and unit tests) along with code coverage.
Stars: ✭ 63 (+10.53%)
Mutual labels:  sqlite, retrofit2
PokeChat
UNIX compatible, Discord and Telegram inspired, Pokémon-themed instant messaging service.
Stars: ✭ 11 (-80.7%)
Mutual labels:  sqlite, chat-application
Chat-App-Android
Chat app based on the MVVM architecture using Kotlin, ViewModel, LiveData, DataBinding and more.
Stars: ✭ 70 (+22.81%)
Mutual labels:  chat-application, firebase-realtime-database
anonymous-web
💬 A PreactJS powered progressive web (chat) application (Not active)
Stars: ✭ 28 (-50.88%)
Mutual labels:  chat-application, firebase-realtime-database
Canvas-Vision
📷 Wallpaper Downloading Android App
Stars: ✭ 14 (-75.44%)
Mutual labels:  sqlite, retrofit2
NewsReader
Android News Reader app. Kotlin Coroutines, Retrofit and Realm
Stars: ✭ 21 (-63.16%)
Mutual labels:  retrofit2
go-sqlite
Low-level Go interface to SQLite 3
Stars: ✭ 268 (+370.18%)
Mutual labels:  sqlite
Jetpack Compose News
基于Jetpack Compose实现的一款集新闻、视频、美图、音乐、天气等功能的资讯App,持续完善中...
Stars: ✭ 58 (+1.75%)
Mutual labels:  retrofit2
Simple-Note-App-with-Online-Storage
✍️ Simple Note Making App use Sqllite Room 🧰 for caching the notes and 📥 Firebase Database for online storage
Stars: ✭ 42 (-26.32%)
Mutual labels:  firebase-realtime-database
UseCases
This a library that offers a generic implementation of the data layers from the clean architecture by Uncle bob.
Stars: ✭ 23 (-59.65%)
Mutual labels:  retrofit2
LoginToASqlite3DatabaseWithoutCredentialsWithAdminer
✔️ An Adminer plugin to use SQLite databases without credentials (no username and no password)
Stars: ✭ 30 (-47.37%)
Mutual labels:  sqlite

MyS3Chat

MyS3Chat – Complete Open Source Real Time Android Chat Application using Firebase

In this tutorial we will be developing real time chat application using firebase, At the end of this tutorial, you will have a complete working android application ready to be published on playstore, exited? Let’s get started.

Get it on Google Play

This tutorial assume that you have basic knowledge of Java and Android SDK, you have build through small android appplications and you are ready to apply your learning on some real projects.

Prerequisites:

  • Android studio is installed and Android SDK is configured
  • Android Physical or virtual device is ready for testing our application
  • An account of firebase real-time database

What is firebase real-time datatabse?

The Firebase Realtime Database is a cloud-hosted NoSQL database that lets you store and sync data between your users in realtime. We will be using this datatabse to sync data between users, and Show notification whenever new message arrive.

What is Retrofit:

Retrofit is an http cliend for android, we will be using this library to parse firebase responses.

What is SQLite:

SQLite is local database which we will use to store data already fetched from server to avoid sending sending request each time a use open a chat acticity.

Alright, so i will not be going to each code and explain what the code is doing rather to explain some important classes and leave rest for you play with.

ActivityMain.java

This will be our main activity where the user first lands, In this activity we will be first checking if user is logged in and redirecting him to ActivityLogin if not logged in. After successfully logging in, the first thing we will be showing on our application’s main activity is chat history (if there is any), that’s what any user will be looking for.

At the very first login, we fecth data from firabase and store in local db using SQLite, and at the later we do fetch chat history from end user’s local storage.

To avoid main thread freezing, each request to network is made in a new task.

ActivityChat.java

After successfully showing chat history user can click on any friend’chat and we will send him to chat activity. If user do not have any contacts he can g oto search option, where he can search by name, email and send connection request.

AppService.java

This class is responsible for listening to firebase and Show user a notication whenever there is any new activity, new message, new connection request etc.

DataContext.java This is the class where we handle all local data storage for getting chat history, getting contact lists, deleteing contact, saving new message to local storage etc.

IFireBaseAPI.java İn this class i have iplemented retrofit api to get response from firabase as a json string.

That’s it, clone the Project from github, build on your android studio and there you have complete working android application, as i promised.

This Project is not very complex, but it’s also not very easy to understand if you have just landed your feet on android World.

Please feel free to contact me for any problem or if you don’t understand any part or if you just want to say hello. (Contact me on Linkedin)

Screenshots:

Important Note:

The firebase account currently used in this application is public, which means anything you enter while testing the application is publicly available, you may keep using this account for testing purpose but please make sure you change the firebase account after testing.

Official links:

Reach me on: LinkedIn

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].