A cross-platform chat and call platform.
Demo Video - https://youtu.be/Ai5NdTQmOZQ
PiperChat is a cross-platform video-calling and chat application with a sleek and intuitive UX, developed using Microsoft Azure Services.
-
User Authentication
-
Chat
- Chats of video call are retained i.e, users can continue the conversation after the meeting and start the conversation before the meeting.
- Real-time Notification for incoming chat messages so that user doesn't miss any message.
-
Video Call
- Mute yourself.
- Turn off your video.
- Change the microphone.
- Change the speaker.
- Chat during the meeting which is retained even after the meeting.
-
In the first step of development, the use cases, tech stack and feasibility of project were decided.
-
As the second step, UI/UX designs were made. Here is the figma file.
-
Development was done in 2 sprints -
- User Authentication and just video chat.
- Other video chat features like device management, outgoing video and audio management, chat during call were done.
-
The features developed were released in production.
-
Adapt feature was announced. So the 1st and 2nd second steps were repeated.
-
Home page of the application where users can chat with each other was developed in a sprint.
-
The complete app was released in production.
One sprint was generally of 4-5 days.
- Client - React Framework
- Server - NodeJS
- Database - Azure CosmosDB (MongoDB)
- For video call and chat - Azure communication services
- For hosting the server - Azure Ubuntu VM
- UI Library - Microsoft FluentUI Library
Install node and create azure cosmos db and azure communication services accounts.
- Clone the repository.
- Create a directory env in server folder and create a file env.js in it. Add the following details in env.js file -
const env = {
// cosmos db details
dbName: ,
key: ,
port: ,
// Azure communication services details
communicationString: ,
};
export default env;
- Change the serverURL in src/config/config.js to
http://localhost:3001
- Run
npm install
and thennpm start
in root to start the client. - Run
cd server && node server.js
to run the server. - Access the app at http://localhost:3000
Developed by Mahak Gupta (gmahak1@gmail.com)
This project is submission of Microsoft Engage 2021.