GithubHelp home page GithubHelp logo

ip-protect-hackweek's Introduction

IProtect

compile test build_push_digitalocean build_deploy_netlify Netlify (DEV)

Requirements

  • nvm
  • node v16.8
  • yarn v1.22
  • Docker Desktop

Setup

  1. yarn setup
  2. modules/backend
    1. Copy .env.sample to .env
    2. yarn db:setup
    3. yarn db:start
    4. yarn db:reset
    5. yarn db:seed
    6. yarn start
  3. modules/frontend
    1. Copy /env/.env.sample to /env/.env.local
    2. yarn start

Updating APIs

Whenever you make changes to the API on the backend, the interface on the frontend also needs to be updated. The project uses a combination of Swagger to generate the OpenAPI specifications, and swagger-typescript-api to generate the frontend client.

  1. Make changes to API
  2. Start your server and navigate to localhost:4000/swagger/docs
  3. Test your API and ensure it's running correctly
  4. Navigate to modules/frontend and run yarn build:api-client
  5. The frontend API client should contain the new endpoint

ip-protect-hackweek's People

Contributors

es-lynn avatar monk87 avatar

Stargazers

Sam Hon avatar  avatar

Watchers

 avatar  avatar

ip-protect-hackweek's Issues

Google Login

  • Users should be able to login through their Google accounts

Tasks:

  • Firebase credentials
  • Frontend send JWT through API client
  • Backend parse JWT and find user
  • Backend validate JWT

Onboarding new users

GIVEN that I am an admin
WHEN I go to the users page
THEN I should be able to view an 'Invite new user' button


GIVEN that I have an 'Invite new user' button
WHEN I click on it
THEN I should be able to view a form with the following fields:

  • Expiry date (optional): 1 hour, day, week
  • User identifier
  • 'Generate' button

GIVEN that I have filled up the invite user form correctly
WHEN I click the 'Generate' button
THEN

  • I should be brought to a new page with the URL link
  • a copy button
  • a QR code with the link

GIVEN that I have a copy button link
WHEN I click on the copy button
THEN

  • It should copy the link to my clipboard
  • It should pop-up/toast the words 'Copied!'

Mobile responsive

Specifications

  • Min-width: 375px
  • Max-width: 800px
  • Beyond max-width: pad with empty spacing on both sides

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.