This repository holds the frontend code for the ACM Teach LA online editor! Teach LA uses the editor to help teach LA students about Python, Web Development, and expose them to computer science!
Our editor is primarily developed with React + Redux, and uses a smattering of other Node packages. The project is actively developed and maintained by the ACM Teach LA Dev Team (part of ACM @ UCLA).
Want to find out more about ACM Teach LA, or join the developer team? Check out our website or shoot us an email at acmteachla@gmail.com.
We use pnpm
: pnpm
does what npm
does but is much more efficient.
Recommended setup is as follows:
pnpm
here.pnpm
is installed by running pnpm --version
.pnpm env use --global lts
to download the latest LTS version of Node.pnpm install
to install all dependencies.pnpm staging_start
to start the development server.There are actually two different ways to run the app locally on your machine - one that uses our staging backend server (as in step 6), and one where you'll run it locally. Usually, the staging server is totally fine to use, but having the backend makes more sense if you're working on a new feature or are editing the backend.
After following the Developer Setup, run:
$ pnpm staging_start
And voila! vite
should automatically open a new browser window with the
editor; give it a few seconds to start up and you should be good to go. You can
also manually visit it on localhost:5173
Note This currently doesn't work.
Here, you'll run our backend on your local machine, which offers more flexibility; you can find more information on that here.
And in another terminal window:
TODO Find equivalent of react-scripts start
.
$ git clone https://github.com/uclaacm/TeachLAFrontend.git
$ cd TeachLAFrontend
$ pnpm install
$ pnpm start # this doesn't work right now
The client should now be automatically opened in your browser; however, you can
also manually visit it on localhost:5173
. Note that we've also opened a copy
of the go backend on localhost:8081
.
pnpm install
- it's likely that some dependency has changed!lint-staged
and husky
auto-prettify some JS code on save - don't be spooked!npm run test
npm run prod_build
pass, or your changes for-sure won't work!npm run prod_build
!