TeachLAFrontend
🌱 The frontend for Teach LA's online IDE, designed to teach kids how to code!
Install / Use
/learn @uclaacm/TeachLAFrontendREADME
ACM Teach LA's Editor Frontend
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.
Developer Setup
We use pnpm: pnpm does what npm does but is much more efficient.
Recommended setup is as follows:
- Follow installation instructions for
pnpmhere. - Open a new shell and verify that
pnpmis installed by runningpnpm --version. - Run
pnpm env use --global ltsto download the latest LTS version of Node. - Clone this repository and navigate to the project directory within your shell.
- Run
pnpm installto install all dependencies. - Test that everything works by running
pnpm staging_startto 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.
Connecting to a backend
Using the Staging Server (Recommended)
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
Using a Local Server (Advanced)
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.
Notes for Developers:
- every time you pull from master, make sure to run
pnpm install- it's likely that some dependency has changed! lint-stagedandhuskyauto-prettify some JS code on save - don't be spooked!- GitHub Actions auto-builds branches and PRs - make sure that
npm run testnpm run prod_buildpass, or your changes for-sure won't work! - Netlify auto-deploys PRs, branches, and production deploys using the contents of
npm run prod_build!
Related Skills
bluebubbles
347.0kUse when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
slack
347.0kUse when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
frontend-design
107.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Agent Development
107.8kThis skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
