Sinau - Javanese (Krama) for "to learn". A modern, lightweight, self-hostable open-source learning management system.
| Layer | Technology |
|---|---|
| Runtime | Bun |
| Frontend | SvelteKit 5 + Svelte 5 |
| Styling | Tailwind CSS 4 + shadcn-svelte |
| Editor | TipTap |
| Backend | Rust + Axum |
| Database | sqlx + SQLite (dev) / PostgreSQL (prod) |
- OAuth authentication (Google, GitHub, Keycloak)
- RBAC (admin, teacher, student)
- Course management (chapters, activities, published/public)
- Rich content editor (TipTap)
- Media upload (local filesystem or S3-compatible)
- API tokens (headless access)
- Webhooks
- Rust 1.80+
- Bun latest
- sqlx-cli (cargo install sqlx-cli)
bash git clone git@github.com:codecoradev/sinau-lms.git cd sinau-lms
cd server cp ../.env.example .env sqlx database create sqlx migrate run cargo run
cd web bun install bun run dev
See .env.example for all configuration options.
| Document | Description |
|---|---|
| PRD | Product Requirements Document |
| ERD | Entity Relationship Diagram |
| ROADMAP | Development roadmap and sprints |
| ARCHITECTURE | Architecture decisions and project structure |
| AGENT.md | Development workflow and branching strategy |
See CONTRIBUTING.md.
TBD