.. | ||
public | ||
src | ||
.env | ||
.gitignore | ||
.vale.ini | ||
craco.config.js | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json |
BearlyPassing web app
Installing dependencies
npm install
Running
npm start
Building
npm run build
Notes for future maintainers
React
This was built using React 18. There are useMemo
s everywhere.
React has stated that they are working on a compiler,
so a significant amount of this codebase will have to be modified when it comes out.
Also, this project uses Million.js. This might not be required in the future and should probably be removed at some point.
Page Routing
BearlyPassing was designed to be a single-page application, so private school information would only be contained in the
tab, and would be deleted (garbage collected) the second they closed the page.
react-router
had a bit too much overhead, so instead pages are controlled by the currentPage
and selectedSection
variables in App.tsx
Authentication and data fetching
Data fetching is extremely rudimentary, and there isn't any error handling above a generic error.
Final note
There's still some incomplete and missing stuff. Grep for TODOs and good luck!