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.
- 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.
- Node.js (v18 or higher)
- Yarn (v1.22 or higher)
- Docker and Docker Compose (for PostgreSQL database)
Install all dependencies:
make installTo run both frontend and backend in development mode:
- Start a local PostgreSQL database:
docker-compose up -d- Start the development servers:
make devThis 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)
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