/passiv-web

Our main web app.

Primary LanguageTypeScriptMIT LicenseMIT

Build Status dependencies Status devDependencies Status codecov

Table of Contents

Introduction

This is the front-end app for Passiv. We're big proponents of open source software and would love for people to audit our code for security reasons so we've made this fully available on Github. Follow along with us as we try to change the face of investing.

Major Components

This app was developed using quite a few libraries which we're incredibly thankful for.

Getting Started

You'll need a bunch of environment setup done before getting started with our application.

  • NodeJS
  • Package Manager either NPM which comes with Node or Yarn
  • Text Editor like VS Code
  • Git Client (some editors have them already, or you can install it for the command line)

You'll want to clone the repo and then in your terminal run:

yarn or npm install

This will take a bit and will install all of our libraries. When it's done run:

yarn start or npm start

This will build and launch the app in your browser.

VS Code Setup

If you're using Visual Studio Code, here are some tips for getting it setup perfectly for our code.

You'll want the following extensions:

  • EditorConfig for VS Code - uses our built-in config file to setup VS Code for line endings, tab size, etc.
  • ESLint - shows you any problems with your code in real-time
  • Jest - runs our unit tests while you code, giving you great feedback
  • GitLens - enables nice Git integration
  • VS Live Share - so you can pair program with ease

Infrastructure

At Passiv we stand on the shoulders of giants to provide you with a reliable, world-class product.

We build our app using Travis.

We deploy our app on Netlify.

We monitor our dependencies using David.

We monitor exceptions using Sentry.

We track usage with Google Analytics.

We host our code on GitHub.

We process payments with Stripe.

Available Scripts

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 test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

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.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

Tests

We believe in well tested code and as such have a rigorous suite of both unit and system tests.

Unit Tests

We use Jest/Enzyme for our unit tests. They are located in a /tests folder inside each component folder.

System Tests

We use Cypress for our system tests. They are located in the /cypress/fixtures folder.