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/
- User can
login
with Facebook or Google account
- If logging in for the first time, user need to provide information to
register
- 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😀
$ git clone https://github.com/hoangdh1/messaging-app.git
$ cd messaging-app
$ npm install
$ npm start
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;