Skip to content

User go to chat room and can select any of the available users to start a conversation

Notifications You must be signed in to change notification settings

hoangdh1/messaging-app

Repository files navigation

Messaging App

This project was bootstrapped with Create React App, using the Redux and Redux Toolkit template, Firebase

The application is deployed on Firebase at: https://messaging-app-cfbb8.firebaseapp.com/

Overview

  • User can login with Facebook or Google account

image

  • If logging in for the first time, user need to provide information to register

image

  • After that, user go to chat room and can see a list of all online users and can select any of the available users to start a conversation🎉
    • Available users are users who are online and not in any conversation🎄
    • When chatting, if one of the two users closes the chat window, both will become available🎎
    • Links and emojis in chat messages can be automatically detected and properly formatted😀

image

Quick start

$ git clone https://github.com/hoangdh1/messaging-app.git
$ cd messaging-app
$ npm install
$ npm start

Structure Database

Collection users

users
|__userId_1
|    |__id
|    |__nickname
|    |__birthday
|    |__gender
|    |__avatarUrl
|    |__isSignup
|    |__isOnline
|    |__chattingWith
|    |__createdAt
|
|__userId_2
     |__...

Collection messages

messages
|__roomId_1
|    |__message
|        |__message_1
|            |__messageText
|            |__uidSender
|            |__createdAt
|
|__roomId_2
    |__...

with roomId:

const roomId =
    uidCurrentUser < uidFriend
      ? uidCurrentUser + "-" + uidFriend
      : uidFriend + "-" + uidCurrentUser;

About

User go to chat room and can select any of the available users to start a conversation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published