37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
|
|
# Fog Expedition Monorepo
|
||
|
|
|
||
|
|
Nx-style monorepo scaffolding for:
|
||
|
|
|
||
|
|
- `apps/twitch-extension-panel` (Angular viewer panel)
|
||
|
|
- `apps/broadcaster-config` (Angular broadcaster config view)
|
||
|
|
- `apps/api` (NestJS EBS API + tick engine)
|
||
|
|
- `libs/api-interfaces` (shared contracts)
|
||
|
|
- `libs/mission-logic` (encounter resolver + simulator CLI)
|
||
|
|
- `libs/encounter-library` (encounter content + schema validation)
|
||
|
|
|
||
|
|
## Quick start
|
||
|
|
|
||
|
|
1. Install Node.js 20+
|
||
|
|
2. Run `npm install`
|
||
|
|
3. Copy `.env.example` to `.env` and fill values
|
||
|
|
4. Start infra with `docker compose up -d postgres redis`
|
||
|
|
5. Run `npm run start:api` and `npm run start:panel`
|
||
|
|
|
||
|
|
## Useful commands
|
||
|
|
|
||
|
|
- `npm run start:local-dev` - starts panel with Twitch mock mode enabled
|
||
|
|
- `npm run simulate` - runs mission balance simulation
|
||
|
|
- `nx run encounter-library:validate` - validates encounter JSON schema
|
||
|
|
|
||
|
|
## Devcontainer
|
||
|
|
|
||
|
|
- Reopen this folder in a devcontainer (VS Code/Cursor command: "Reopen in Container").
|
||
|
|
- The container uses `.devcontainer/devcontainer.json` and starts:
|
||
|
|
- `workspace` service (Node 20)
|
||
|
|
- `postgres`
|
||
|
|
- `redis`
|
||
|
|
- Dependencies are installed automatically via `postCreateCommand` (`npm install`).
|
||
|
|
- After the container starts, run:
|
||
|
|
- `npm run start:api`
|
||
|
|
- `npm run start:panel`
|