Skip to content

COSC-499-W2023/year-long-project-team-9

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

obscurus

Seed Status

obscurus.me is a serverless web app that facilitates private online communication by allowing users to request and submit videos with face-blurring applied.

Features

  • Video submission with optional face-blurring.
  • Serverless architecture ensuring scalability and cost-efficiency.
  • Secure and private online communication.

Demo

  • Check out the demo video here

Prerequisites

Before you begin, ensure you have met the following requirements:

  • AWS account with appropriate permissions.
  • AWS CLI installed and configured.
    • Find the instructions here
  • Node.js v18.17 installed.
  • NPM installed.

Installation

Follow these steps to get your development environment set up:

  1. Clone the repository:

    git clone https://github.com/COSC-499-W2023/year-long-project-team-9.git
  2. AWS SSO Login: To configure your AWS credentials, use AWS Single Sign-On (SSO).

    aws sso login

    Follow the instructions to sign in with your AWS credentials in your browser.

  3. Navigate to the App Directory:

    cd app/obscurus
  4. Install Dependencies: Run the following command to install the necessary dependencies:

    npm install
  5. Start the Development Server: First, start the SST development environment:

    npx sst dev

    Open another terminal window and run the Next.js development server:

    npm run dev
  6. Deploying to AWS CloudFront: To deploy the app,

    npx sst deploy

SST

  • Read more about SST on their official website for more information about things like the Live Lambda environment.

Seed

  • While obscurus can be deployed and developed on entirely from the CLI, we have been using Seed for our CI/CD (in combination with GitHub actions).

Notes

  • The SST console is very useful for running migrations and testing Lambda functions. You can use it when running npx sst dev by going to https://old.console.sst.dev/obscurus/
  • Because obscurus is entirely serverless, there are times when the requests to the app will experience extra latency because AWS Lambda functions can experience "cold starts".
  • Because the microservice is only created when the stack is deployed, video processing does not work when using npx sst dev. You must deploy using npx sst dev.

Known issues

  • When a user records a video in the browser, the file (.webm) must be converted to mp4 before having the face blurring applied. However, sometimes the conversion results in a loss of quality and the first frame or so is not blurred.
  • The emails sent from the microservice when the video has completed processing do not have the templating applied. This only affects these emails and other emails sent by the app use the proper obscurus template.

WorkMail

To access WorkMail:

About

year-long-project-team-9 created by GitHub Classroom

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •