https://github.com/freecodecamp/freecodecampos
Test repo for external freeCodeCamp courses
https://github.com/freecodecamp/freecodecampos
course curriculum javascript nodejs
Last synced: about 1 month ago
JSON representation
Test repo for external freeCodeCamp courses
- Host: GitHub
- URL: https://github.com/freecodecamp/freecodecampos
- Owner: freeCodeCamp
- License: bsd-3-clause
- Created: 2022-01-11T07:39:20.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-04-30T01:24:18.000Z (almost 2 years ago)
- Last Synced: 2024-05-01T11:46:20.904Z (almost 2 years ago)
- Topics: course, curriculum, javascript, nodejs
- Language: JavaScript
- Homepage: https://opensource.freecodecamp.org/freeCodeCampOS/
- Size: 5.94 MB
- Stars: 56
- Watchers: 6
- Forks: 15
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# freeCodeCampOS
Open source platform for creating and hosting interactive coding curricula.
See the [documentation](https://opensource.freecodecamp.org/freeCodeCampOS/) 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+
```bash
# Build everything
bun run build
# Run the server (from a course directory containing freecodecamp.conf.json)
./target/release/freecodecamp-server
```
For development:
```bash
# 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:
```bash
cargo run --bin create-freecodecamp-os-app -- create
```
Then run the server from the course directory:
```bash
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](./MIGRATION.md) for the full migration guide.
## Contributing
See [CONTRIBUTING.md](./CONTRIBUTING.md) and the [Contributing docs](./docs/src/contributing.md).
## License
BSD-3-Clause — see [LICENSE](./LICENSE).