Skip to content

Latest commit

 

History

History
71 lines (47 loc) · 1.59 KB

File metadata and controls

71 lines (47 loc) · 1.59 KB

freeCodeCampOS

Open source platform for creating and hosting interactive coding curricula.

See the documentation for full details.

Architecture

freeCodeCampOS v4 is a Rust workspace with an embedded React frontend:

config/     # Shared types and configuration
parser/     # Curriculum markdown parser (Comrak/GFM)
runner/     # Multi-language test execution engine
server/     # Axum HTTP + WebSocket server
client/     # React 19 + TypeScript frontend (Vite)
cli/        # create-freecodecamp-os-app CLI
example/    # Example curriculum project
docs/       # mdBook documentation

Quick Start

Prerequisites: Rust 1.93.1+, Bun 1.3.10+, Node.js 20+

# Build everything
bun run build

# Run the server (from a course directory containing freecodecamp.conf.json)
./target/release/freecodecamp-server

For development:

# Terminal 1: Rust backend
cargo run --bin server

# Terminal 2: React client (hot reload)
bun run dev:client

Creating a Course

Use the CLI to scaffold a new course:

cargo run --bin create-freecodecamp-os-app -- create

Then run the server from the course directory:

cd my-course/
../target/release/server

End users install freeCodeCampOS via npm (@freecodecamp/freecodecamp-os), which provides the pre-built binary.

Upgrading from v3

See MIGRATION.md for the full migration guide.

Contributing

See CONTRIBUTING.md and the Contributing docs.

License

BSD-3-Clause — see LICENSE.