Skip to content

noelcv/mindfulness

Repository files navigation

Mindfulness

CodeFactor

Mindfulness promotes safe spaces for gathering Wellness professionals and their clients.

Screenshot

Using WebRTC technology, users can communicate directly with their favorite therapist in Real-Time, peer-to-peer (p2p), without having the content of their communications intercepted and stored in a server.

How does it work?

When a Professional creates an Event (Private Yoga Class, Therapy session, Holistic Consultation), an unique RoomID is generated.

When both Professional and Client join the Video Call Room, they emit a signal to communicate their intention to initiate a p2p connection.

This intention consists of a Session Description Protocol (SDP) which contains the metadata to allow the direct exchange between the participants.

Once the exchange takes place, both participants can communicate directly and the server no longer listens for the content of the meeting.

Tech-Stack

Front-end

React CSS3

Back-end

MongoDB Express NodeJS

Real-Time Communication

SocketIO WebRTC

Authentication

Firebase

Deployment

Heroku Vercel

Protected Routes

Some pages are only available for authenticated users. We protect those routes and provide feedback to the user.

Screenshot

Authentication

For this Proof-of-Concept we opted to allow for authentication with Google Account via Firebase

Screenshot

Screenshot

Profile

The Profile Picture, Name, and Email are fetched upon authentication with Firebase.

Screenshot

Events

Authenticated users can create Events.

Screenshot

Unauthenticated users can only view and join existing events.

Screenshot

Video Call

Each event has an unique RoomID that is used to establish a peer-to-peer connection between teacher and student.

Screenshot