Skip to main content

Local Dev Setup

:::info Source Sourced from services/enrollment-service/LOCAL_DEV_SETUP.md in the documentation repo. :::

1. Prerequisites

Node 20, pnpm 9, Docker 24.

2. Quick Start

cd services/enrollment-service
cp .env.example .env.local
pnpm install
docker compose -f docker-compose.dev.yml up -d
pnpm db:migrate
pnpm seed
pnpm dev # :3055
pnpm dev:worker

3. Dependencies

postgres, redis, nats.

4. Environment

PORT=3055
DATABASE_URL=postgres://enrollment:enrollment@localhost:5432/enrollment
REDIS_URL=redis://localhost:6379/55
NATS_URL=nats://localhost:4222
NATS_STREAM=ENROLLMENT
EXPIRATION_SCHEDULE="0 2 * * *"
BULK_BATCH_SIZE=1000

5. Seed

  • 10 active enrollments (various sources).
  • 2 completed.
  • 2 revoked.
  • 1 expired.

6. Commands

pnpm dev
pnpm test
pnpm test:integration
pnpm expiration:run # manual expire
pnpm enroll:sim --user ... --course ...