Skip to content

Latest commit

 

History

History
99 lines (80 loc) · 2.9 KB

File metadata and controls

99 lines (80 loc) · 2.9 KB

Knowledge Rockets Front-End Specification

# REACT_APP_SERVER: Environment Variable for the Hosted Location of the server in heroku
# Ensure there is no trailing '/' at the end of the URL.
REACT_APP_SERVER=https://urlofserver.com

Description

This is the specification for the Knowledge Rockets front-end client. Click here to see the specification for the back-end. Click here to see the project's general information.

Getting Started

These instructions will get you a copy of the project on your local machine for development and testing purposes.

Prerequisites

The following are the dependencies you will need:

@material-ui/core
@material-ui/icons
axios
dotenv
enzyme
enzyme-adapter-react-16
firebase
formik
jest
material-ui
moment
moment-timezone
papaparse
react
react-dom
react-redux
react-router-dom
react-scripts
react-stripe-elements
react-test-renderer
redux
redux-logger
redux-thunk
styled-components
yup

Installation

Use yarn or npm to install all the development dependencies used in this project.

yarn install or npm install

Check to see the project has compiled successfully:

yarn start

Open the project locally with the url described as Local

Tests

This project uses the jest and enzyme testing suites. All client-side tests can be found in the tests directory.

Run all tests within client/tests using:

yarn test or jest

Front-End Routes

'/' is the Home Page
'/forgot' is the page to reset the password for an account
'/question/:cohort/:question/:student' is the endpoint for students to respond
'/question/thankyou' thanks user for their submission after completing a response rocket
'/rocket' passes the NavBar to all further routes.
'/rocket' includes the Rocket list component
'/rocket/auth' includes the Auth component which allows the user to sign in/up
'/rocket/billing' includes the Billing Form used for Account Upgrades
'/rocket/classes' includes the Cohort list component
'/rocket/classform/:id' views a single cohort
'/rocket/new' is the form for adding a new rocket to the Rocket list
'/rocket/newclass' is the form for adding a new cohort to the Cohort list
'/rocket/results' is the page for viewing Individual Knowledge Rocket results
'/rocket/settings' is the settings page for the application
'/rocket/view/:id' views a single rocket

Styled Component Notes

.env Variables And You

REACT_APP_FIRE_API= Firebase Api Key
REACT_APP_FIRE_AUTH_DOMAIN = Firebase Auth Domain for the Project
REACT_APP_FIRE_DB_URL = Firebase Database Url that holds Users
REACT_APP_FIRE_PROJECT_ID = Firebase Project ID
REACT_APP_FIRE_SENDER_ID = Firebase Sender ID
REACT_APP_FIRE_STORAGE_BUCKET = Firebase Storage Bucket
REACT_APP_PUBLIC_KEY = Stripe Public Key
REACT_APP_SERVER = Deployed Url for the Project
REACT_APP_Stripe_Url = Stripe endpoint for Billing