Code Monkey home page Code Monkey logo

youshallnotpass's Introduction

YouShallNotPass

A secret sharing platform with expiring links. Up and running here: https://youshallnotpass.org

Netlify Status

Backend

Backend is running on Azure at https://youshallnotpassbackend.azurewebsites.net

To use the POST /vault endpoint, first get a token using GET /security/authenticate. This endpoint returns a token as a string with an expiration date. To get the token, you'll need to know your service name and secret key (message Madeline).

To use the token, add Bearer [token] to the Authorization header of your request (Python Example). Before reusing the token, check if it's about to expire, and get a new one if it is.

To run locally (message Madeline to setup the users database before proceeding),

  1. First, install .Net 6
  2. Define a server key
    1. Navigate to Backend/Api/
    2. Run dotnet user-secrets init
    3. Go to this site and generate a 128 bit key with hex format (for example, 217A25432A462D4A614E645266556A58)
    4. Run dotnet user-secrets set "ServerKey" "[key]"
  3. Two options:
    1. Visual Studio
      1. Install Visual Studio (make sure to inlcude the web development workload)
      2. Open Backend/YouShallNotPassBackend.sln in Visual Studio
      3. Run the YouShallNotPassBackend application
    2. Command Line
      1. Navigate to Backend/Api/
      2. Run dotnet run, the url will show in the terminal
      3. The root index is a swagger UI that shows all of the APIs and how to use them (see /Backend/ContentType.cs for the enum definitions)

To run the Api Tests (message Madeline to setup test authentication credentials before proceeding),

  1. First, install .Net 6
  2. If testing a local deployment, run the server locally
  3. Two options:
    1. Visual Studio (only available on Windows)
      1. Install Visual Studio (make sure to inlcude the web development workload)
      2. Open Backend/YouShallNotPassBackend.sln in Visual Studio
      3. Go to Test -> Configure Run Settings -> Select Solution Wide runsettings File and select one of RunSettings/[local|azure].runsettings
      4. Right-click on the YouShallNotPassBackendApiTests project in Solution Explorer and click Run Tests
    2. Command Line
      1. Navigate to Backend/ApiTests/
      2. Run dotnet test -s RunSettings/[local|azure].runsettings

Frontend

To run the frontend locally, first ensure that Node, React, and Typescript are installed. Then, run:

npm install

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

Gmail Extension

Add the gmail extension to chrome in developer mode

Sign in to your Google Account on a Chrome device or Chrome browser on a Windows, Mac, or Linux computer.

Go to chrome://extensions/.

At the top right, turn on Developer mode.

Click Load unpacked.

Find and select extension folder: \YouShallNotPass\gmailextension\chrome\templates

Open a new tab in Chrome then click the extension.

youshallnotpass's People

Contributors

maddie1202 avatar sarahbornais avatar alyssadacosta avatar annaw245 avatar

Watchers

 avatar

youshallnotpass's Issues

Input the secret and it drafts an email for you.

there was not enough feedback that the email was sent. (it should draft your email for you, but not send it)

zoom has a button where it drafts an email. maybe have extension where you input the secret and it drafts an email for you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.