Lerna monorepo to contain all polyratings related code
- frontend - Frontend react app deployed at https://polyratings.org
- backend - Backend typescript app deployed on Cloudflare Workers
- shared - Common data types related to sharing data between packages
- client - Client package that wraps interaction to the backend as well as re-exports the shared package
- cron - nightly job that syncs data between environments as well as backs up the professor list to a separate git repo
- eslint-config - shared eslint config that is enforced in all other packages
If you are not interested in developing the backend or cron packages you can skip to setup
In order to set up for development you have one of two options:
- Following the instructions here to deploy polyratings to your personal cloudflare account. This will then allow you to do test deployments of your changes in an isolated environment.
- Reaching out to
user@domain.com
to receive credentials to the cloudflare account in order to be able to publish to the official dev environment. This option should only be taken if you are interested in working on polyratings in the long term and have demonstrated an interest through multiple previous code contributions.
Since this repository is organized using lerna setup is a little different than standard js projects.
Install top level JS dependencies
npm install
This will install lerna locally to this repo. Then run:
npm run bootstrap
This will install all of the dependencies for all of the sub packages and sym link dependent packages. Finally run:
npm run build
This will build all of the projects and put shared files where they are supposed to be.
You can now start developing in your desired package. Follow the README in the specific package for specific information.