cjlawson02 / polyratings

Cal Poly SLO Professor Rating Website

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Polyratings Monorepo

Lerna monorepo to contain all polyratings related code

Packages

  • 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

Getting Ready for development

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:

  1. 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.
  2. 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.

Setup

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.

About

Cal Poly SLO Professor Rating Website

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 87.3%Language:CSS 9.2%Language:JavaScript 3.3%Language:HTML 0.2%