Files
davinci-platform/CHANGELOG.md
KinSun 9d5616fdc6 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.
2026-03-13 10:30:16 +08:00

1.7 KiB

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_WEBSKIP_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