Initial commit

This commit is contained in:
2026-03-10 21:30:52 -03:00
commit 72a4f0be26
145 changed files with 14881 additions and 0 deletions

88
README.md Normal file
View File

@@ -0,0 +1,88 @@
# 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
```bash
# 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/
```
## Documentation
- [Architecture](docs/architecture.md)
- [Development guide](docs/development.md)