Alert

Write, practice, test, easy.

The coding platform for APCS students and teachers.

This is the CodeTools platform.

CodeTools is a platform that was built to make it easy to test code, and create challenges for others to solve, right in the browser. In this way, it is similar to other platforms, like Replit and CodingBat. However, it is simpler to use than Replit, and more modern than CodingBat.

How does CodeTools work?

CodeTools sends your code to a distributed network of "run nodes" that run your code in a secure environment. Completion of challenges is then identified server-side, and stored in a database.

How is CodeTools hosted?

CodeTools consists of 4 components

  1. Static Frontend
  2. Main API
  3. Runner Node Management Server
  4. Runner Nodes

Components 1 and 2 are hosted on Vercel (a serverless hosting platform). The database for the API is hosted on MongoDB Atlas. Component 3 is hosted Heroku (another serverless hosting platform). The runner nodes are hosted personally by various individuals. Their higher system requirements make them harder to host serverless and very expensive to host on a VPS.

Is the API publicly available / documented?

The API is publicly available at https://codetools.cy2.me/api but there is sadly no documentation available at the moment. This may arrive in the future.

Who are the contributors to CodeTools?

The majority of CodeTools was engineered and written by Cy Westbrook, a class of 2023 high school student in New Jersey. This includes components 1-3. Ramesh Balaji, a class of 2022 high school student in New Jersey, is responsible for the development of the runner nodes, and the execution of code in a secure environment.

Is CodeTools open source?

Yes. CodeTools is open source. Links will be available shortly.

Made with 💙 and