feat: add initial project configuration and smoke tests
- Created pnpm workspace configuration to manage packages. - Added a placeholder .gitkeep file in the scripts directory. - Implemented a smoke test script to validate core API and web endpoints. - Established TypeScript base configuration for consistent compilation settings. - Introduced Turbo configuration for task management and build processes.
This commit is contained in:
28
CHANGELOG.md
Normal file
28
CHANGELOG.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [0.1.0-alpha.0] — 2026-03-12
|
||||
|
||||
### Added
|
||||
|
||||
- **Monorepo scaffold** — pnpm workspaces with `packages/api`, `packages/web`, `packages/shared`
|
||||
- **NestJS 11 API shell** — Fastify 5 adapter, health endpoint (`GET /api/health`), ConfigModule with env validation
|
||||
- **Next.js 15.5.x frontend shell** — App Router, next-intl i18n, Tailwind CSS v4, shadcn/ui base config
|
||||
- **Prisma 7 schema shell** — PostgreSQL datasource, placeholder model for client generation
|
||||
- **Shared types package** — `@davinci/shared` with barrel exports, build via TypeScript
|
||||
- **Turborepo** — build caching and task orchestration across packages
|
||||
- **Vitest** — test runner for all packages (replaces Jest)
|
||||
- **ESLint flat config** — TypeScript + Prettier integration, single root config
|
||||
- **Prettier** — consistent formatting with pre-commit hooks (Husky + lint-staged)
|
||||
- **Docker** — multi-stage Dockerfile (nginx + NestJS + Next.js), docker-compose for dev
|
||||
- **nginx** — internal routing `/api/*` → :3001, `/*` → :3000
|
||||
- **Makefile** — developer command interface matching architecture spec
|
||||
- **README** — quickstart, project structure, environment variables
|
||||
- **smoke-test.sh SKIP_WEB** — `SKIP_WEB=1 make smoke` skips web container for API-only workflows
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Docker healthcheck IPv6** — changed `localhost` to `127.0.0.1` in docker-compose healthcheck URLs (Alpine wget resolves localhost → ::1 IPv6, Fastify listens on IPv4 only)
|
||||
- **Scalar ESM import (TS1479)** — converted static import of `@scalar/fastify-api-reference` to dynamic `import()` since the package is ESM-only
|
||||
- **Test import** — added missing `afterEach` to vitest import in `api-docs.setup.spec.ts`
|
||||
Reference in New Issue
Block a user