3.0 KiB
3.0 KiB
dwellops-platform
Modern HOA management platform — TypeScript monorepo.
Supports self-hosted single-tenant deployments and is architecturally ready for SaaS multi-tenant evolution.
Stack
| Layer | Technology |
|---|---|
| Package manager | pnpm workspaces + catalog |
| Build orchestration | Turborepo |
| Frontend | Next.js 16, App Router, CSS Modules, next-intl |
| Backend | Fastify 5, Zod, Better Auth |
| Database | PostgreSQL + Prisma |
| Testing | Vitest, Playwright, Testing Library |
| Storybook | v10 (Vite builder) |
Quick start
# Prerequisites: Node 24+, pnpm 10+, Docker
# 1. Copy environment files
cp .env.example .env
cp apps/api/.env.example apps/api/.env
cp apps/web/.env.example apps/web/.env
# 2. Start local infrastructure
docker compose up -d
# 3. Install dependencies
pnpm install
# 4. Generate Prisma client and run migrations
pnpm db:generate
pnpm db:migrate:dev
# 5. Start dev servers
pnpm dev
Apps:
- Web: http://localhost:3000
- API: http://localhost:3001
- API docs (Swagger): http://localhost:3001/documentation
- Mailpit (local email): http://localhost:8025
Scripts
| Command | Description |
|---|---|
pnpm dev |
Start all dev servers |
pnpm build |
Build all apps/packages |
pnpm test |
Run unit/integration tests |
pnpm test:e2e |
Run Playwright e2e tests |
pnpm lint |
Lint all workspaces |
pnpm typecheck |
Type-check all workspaces |
pnpm format |
Format all files with Prettier |
pnpm storybook |
Start Storybook |
pnpm db:generate |
Generate Prisma client |
pnpm db:migrate:dev |
Run dev migrations |
pnpm db:studio |
Open Prisma Studio |
pnpm i18n:aggregate |
Aggregate component translation files |
Repository structure
apps/
api/ @dwellops/api — Fastify backend
web/ @dwellops/web — Next.js frontend
packages/
config/ @dwellops/config — ESLint, Prettier, tsconfig, Stylelint, Vitest
types/ @dwellops/types — shared TypeScript types
schemas/ @dwellops/schemas — shared Zod schemas
db/ @dwellops/db — Prisma client + data access boundary
i18n/ @dwellops/i18n — i18n helpers
ui/ @dwellops/ui — shared UI primitives
test-utils/ @dwellops/test-utils — test factories, render helpers
docs/
scripts/