This project was bootstrapped with Create React App.
Author: Zachary Thielemann
To get started, type yarn install
or npm install
in the root directory after cloning.
Contains all static assests (favicons mostly). Never drop images in here, always reference an external CDN link.
Contains active react-router-dom
route list and respective components. Passes BrowserRouter to child components.
Contains all style files. This project uses react-jss
. Need to write styles for a component? Create a folder with that component's title,then create a .js that exports an react-jss
object. Pass that object to your component and bam you got styles.
Contains all UI related custom react components, broken into layout components and router destinations.
Current Views:
- footer
- footer component, persists on the bottom of every page
- landing
- router destination
/
- router destination
- navigation
- navigation header component, persists on the top of every page
Material-UI includes a built-in breakpoint system for adjusting pages for different screen sizes. The Grid component container/item system is utilized in all views. These breakpoints are not expressed in css/jss, but at the compontent level. Read /src/views/landing/Landing.js
for a good example of integration.
This project was built using the Prettier and ESLint plugin for VSCode. If you are not using VSCode (you should lol), Prettier and ESLint will install as a dev dependancy from yarn install
.
- tabWidth
- 2 spaces
- semi
- false - don't use semicolons at the end of statements!
- singleQuote
- use a single quote ('example') not a double ("example")
- jsxSingleQuote
- applies singleQuote to .jsx files
In the project directory, you can run:
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.
Initiates a static server on port 8080. Used in serverless deployment environment (GCP App Engine in our case).
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
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.
Note: this is a one-way operation. Once you eject
, you can’t go back!
If you aren’t satisfied with the build tool and configuration choices, you can eject
at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject
will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
You don’t have to ever use eject
. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
You can learn more in the Create React App documentation.
To learn React, check out the React documentation.