Project done using:
- Firebase suite (Auth, Firestore with Security rules, Mail Extension, Messaging, Hosting, Emulator)
- React for frontend
- User registration with email, Google, and Facebook using Firebase Authentication.
- Login with email, Google, and Facebook using Firebase Authentication.
- Send friend requests to both registered and non-registered users. Non-registered users receive an invitation via email to join the application using Trigger Email.
- Handling friend requests. Users can accept or reject requests.
- Conversations with friends. The users who are friends of the logged-in user are listed, and when one is selected, the chat between them is displayed.
- View the latest message in the friends' list.
- In-app notifications when receiving messages.
- Security: Security rules are implemented for Firestore to prevent unauthorized access to data.


First, navigate to the root folder of the project. Once in the root folder, run the following commands to run the application:
npm ci
npm start
If you have Firebase Emulators in the root folder of the project, run firebase emulators:start
.
In another console, in the root folder of the project, run:
cd tests
npm ci
npm run test