Skip to content

WebAssembly-based coding collab platform. Collaborative in-browser REPL for Javascript, TS, Python, Go, etc

License

Notifications You must be signed in to change notification settings

guymor4/coderjam

Repository files navigation

coderjam.com GitHub Actions Workflow Status Static Badge

CoderJam

A modern web playground that allows you to run code in different programming languages directly in your browser. Every language runs in its own isolated wasm environment, ensuring security and performance.

Supported languages

  • JavaScript using QuickJS.
  • TypeScript using Typescript transpiler and QuickJS.
  • Python: using Pyodide.
  • Go: using a custom Go runtime compiled to WebAssembly with a virtual filesystem and processes.

Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Yarn (v1.22 or higher)
  • Docker and Docker Compose (for PostgreSQL database)

Installation

Install all dependencies:

make install

Development

To run both frontend and backend in development mode:

  1. Start a local PostgreSQL database:
docker-compose up -d
  1. Start the development servers:
make dev

This will start:

  • PostgreSQL database on localhost:5432
  • Frontend (Vite) dev server on http://localhost:5173
  • Backend server on http://localhost:3001
  • Access your app at http://localhost:3001 (backend proxies to frontend)

Production

For production, we build frontend and backend into a single container and docker-compose.prod.yaml that manages it all.

# Build and start production server (+ PostgreSQL)
docker-compose -f docker-compose.prod.yaml up --build

About

WebAssembly-based coding collab platform. Collaborative in-browser REPL for Javascript, TS, Python, Go, etc

Resources

License

Stars

Watchers

Forks

Sponsor this project