Repository: github.com/CreativeLabs-LMS/platform
- Go 1.26+
- Node.js 20+ (18 works with a react-router engine warning)
- Docker & Docker Compose (recommended)
git clone https://github.com/CreativeLabs-LMS/platform.git
cd platform
docker compose up --buildMigrations run automatically on first PostgreSQL start via /docker-entrypoint-initdb.d.
Fresh database with updated demo schools: delete the Postgres volume if upgrading from an older seed:
docker compose down -v
docker compose up --builddocker compose up postgres rediscd backend
export DATABASE_URL=postgres://maths:maths_dev_password@localhost:5432/maths_lms?sslmode=disable
export REDIS_URL=redis://localhost:6379/0
export JWT_SECRET=dev-jwt-secret-change-in-production-min-32-chars
export CORS_ORIGIN=http://localhost:5173
go run ./cmd/servercd frontend
npm install
npm run devVite proxies /api to http://localhost:8080.
cd backend && go build -o /dev/null ./cmd/server
cd frontend && npm run buildcd backend && go run ./cmd/hashgenFictional demo schools only — do not use real pupil data.
| Role | Username | Credential |
|---|---|---|
| Pupil | alex.j |
PIN 123456 |
| Pupil | mia.p |
PIN 123456 |
| Teacher | jsmith |
teacher123 |
| SENCO | r.brown |
teacher123 |
| IT Admin | admin |
teacher123 |
| Role | Username | Credential |
|---|---|---|
| Pupil | emma.k |
PIN 123456 |
| Teacher | t.jones |
teacher123 |
| IT Admin | cedar.admin |
teacher123 |
| Username | Password |
|---|---|
platform.admin |
teacher123 |
- Create
frontend/src/modules/MyModule.tsx - Register in
frontend/src/modules/registry.ts - Add validator in
backend/internal/validation/validator.go - Insert seed row with matching
ui_componentstring - Rebuild and test via practice session
| Variable | Default | Description |
|---|---|---|
DATABASE_URL |
local postgres URL | PostgreSQL connection |
REDIS_URL |
redis://localhost:6379/0 |
Redis connection |
JWT_SECRET |
dev secret | HMAC signing key (min 32 chars prod) |
PORT |
8080 |
API listen port |
CORS_ORIGIN |
http://localhost:5173 |
Allowed SPA origin |