This is a project for private alumni network.
The objectives of the project are to create an application for real-time communication with channels feature borrowed from Slack and video conferencing upto 99 people similar to Zoom.
This is applications is created using create-react-app and database service of cloud firestore from google.
- Create a clone in your machine.
- Change directory to local repo in your machine using
cd slack-clone
. - Install dependencies using
npm install
command. - To start development mode use
npm start
.
-
Landing page created as a separate component.
-
Chat room development process:
- Header section of chat room
- Sidebar header section
- Sidebar options component
- Config cloud firestore
- Set and render channels from db. Using useState and useEffect hooks to manage state and set channels
- React router for redirecting to chat room
- useHistory hook used to change path onClick
- BrowserRouter, Switch, Route from react-router-dom used to render components conditionally.
- Chat component created and chat screen header
- Fetching document data and messages collection from firestore using useEffect and useState hooks.
- Message component used to render messages collection on chat screen
- Added firebase google authentication
- Implemented React Context API to add data layer to access user details and avoid prop drilling
- ChatInput component to send messages and implement database to render messages realtime
-
Deployed prototype here ASPro.Net