Skip to content

About

아이두~ 아이두~

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

764 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aido

Version: 1.1.0 · Last Updated: 2026-08-14 · Owner: Aido Platform Team

메모가 할 일이 되고, 친구와 함께 끝내는 투두. Aido의 API 서버와 모바일 앱을 관리하는 Turborepo + pnpm 모노레포입니다.

목차

기술 스택

분류 기술
Monorepo Turborepo 2.11, pnpm 10.34
Backend NestJS 12 ESM, Prisma 8 RC, PostgreSQL 16
Mobile Expo 58, React Native 0.88 RC, React 19.3
Validation Zod 4.3.6, Nest Standard Schema
Testing Jest Expo 58 (Jest 29), Vitest 5, Testcontainers
Code Quality Oxlint 1.86, Oxfmt 0.71
Runtime Node.js 24.21.0 LTS

구조

aido/
├── apps/
│   ├── api/          # NestJS 백엔드
│   └── mobile/       # Expo 모바일 앱
├── packages/
│   └── api/          # REST 계약·오류 코드·순수 공용 타입 (@aido/api)
├── tooling/
│   ├── typescript/   # TypeScript 프리셋
│   ├── vitest/       # Vitest 프리셋
│   └── database-migrate/ # 고정 lockfile 기반 migration CLI
└── turbo.json

시작하기

서버 환경 파일·인증 설정·실행 준비는 API README를 따른다. 아래 DB 연결은 로컬 개발용이다.

# 설치
pnpm install

# DB 실행 (Docker)
pnpm docker:up

# 로컬 DB graph 적용·검증
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/aido pnpm --filter @aido/server db:deploy

# 개발 서버
pnpm dev

스크립트

개발

명령어 설명
pnpm dev 전체 개발 서버
pnpm build 전체 빌드
pnpm typecheck 타입 검사
pnpm lint Oxlint 정적 검사
pnpm format 코드 포맷팅
pnpm format:check Oxfmt 포맷 검사
pnpm clean 빌드 산출물 전체 삭제

데이터베이스

명령어 설명
pnpm db:migrate Prisma 마이그레이션
pnpm db:generate Prisma 8 contract의 runtime·타입 생성
pnpm db:plan migration graph 적용 계획 확인
pnpm db:verify DB와 contract의 일치 확인

테스트

명령어 설명
pnpm test 단위 테스트
pnpm test:e2e E2E 테스트
pnpm test:all 전체 테스트 (Unit + Integration + E2E)
pnpm test:cov 커버리지 리포트

Docker

명령어 설명
pnpm docker:up DB 컨테이너 (로컬 개발)
pnpm docker:down DB 컨테이너 중지
pnpm docker:dev:up 개발 환경 전체 (DB + API)
pnpm docker:dev:down 개발 환경 중지
pnpm docker:prod:up 프로덕션 환경 (DB + Migrate + API)
pnpm docker:prod:down 프로덕션 환경 중지

Docker 워크플로우

모드 Compose 파일 용도
DB Only docker-compose.yml 로컬 개발 (추천)
Development docker-compose.dev.yml Docker 전체 개발
Production docker-compose.prod.yml 프로덕션 배포 테스트
  • DB Only: PostgreSQL만 Docker로 실행하고 API는 로컬에서 pnpm dev로 실행
  • Development: DB + API를 모두 Docker로 실행 (.env.docker.dev 필요)
  • Production: 프로덕션 이미지 빌드 + 자동 마이그레이션 (.env.docker.prod 필요)

패키지

패키지 설명
@aido/server NestJS 백엔드 API
@aido/mobile Expo 모바일 앱
@aido/api Zod 스키마
@aido/api/errors 에러 정의

개발 가이드

  • 커밋: Conventional Commits (pnpm commit)
  • 린트/포맷: Oxlint + Oxfmt (pnpm lint && pnpm format:check)
  • 타입: TypeScript strict 모드
  • DTO: Zod 스키마 (@aido/api)
  • 에러 코드: @aido/api/errors의 ErrorCode 사용 (하드코딩 금지)
  • AI 에이전트 워크플로우: AGENTS.md 참조

API 문서

  • Swagger UI: http://localhost:8080/api/docs
  • OpenAPI JSON: http://localhost:8080/api/docs-json

배포

라이선스

MIT

1.10.0 변경과 검증 현황은 클라이언트 Before/After와 검증 기록을 참고하세요.

About

아이두~ 아이두~

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages