ColinLefter / Accord

A real-time privacy-first social media platform leveraging feature-rich direct messaging text channels. Built as part of the course project for COSC 310 at UBC.
5 stars 1 forks source link

Completed full integration of site-wide authentication #136

Closed ColinLefter closed 5 months ago

ColinLefter commented 5 months ago

Summary of Changes

Visual Summary of Changes

My Account

Screenshot 2024-03-21 193438

Sign In

Screenshot 2024-03-23 211250

My Account

image

Syncing with MongoDB Upon Changes Received by Clerk (Tests):

Creating a new user

Screenshot 2024-03-23 212758

Updating an existing user

Screenshot 2024-03-23 212811

Reflection of received data in real-time on MongoDB (user data edited as part of the test)

Screenshot 2024-03-23 212908

Our exposed API endpoint via ngrok

image

Thinks to Know

  1. You need to do ngrok http --domain=ant-inspired-bass.ngrok-free.app 3001 within the grok executable first before you launch the app on localhost. You need to run this command in the ngrok executable which you get by going to ngrok and downloading your windows client. You open up the terminal in that downloaded client to run this command, and leave it on in the background. This is called tunelling as you are effectively using your computer to publicly host an API. This is temporary as once we host our entire web application, our API will be exposed by default. I am doing this for privacy as otherwise we would need to host our entire web application to expose our API, hence the use of a proxy server to prevent that (host only the backend API to use webhooks for syncing data between Clerk and our MongoDB database).
  2. Once that is up and running, you have to now do npm run accord as 3 scripts need to run to make this successful.