Skip to content

recipot/recipot-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

212 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NestJS 기반 λ ˆμ‹œν”Ό 곡유 ν”Œλž«νΌ λ°±μ—”λ“œ API

Version Node License

πŸ’» 기술 μŠ€νƒ

NestJS TypeScript MariaDB

Redis JWT Docker

Infisical AWS

πŸ“‹ 상세 기술 μŠ€νŽ™
μΉ΄ν…Œκ³ λ¦¬ 기술 버전
Framework NestJS 10.x
Language TypeScript 5.x
Database MariaDB 10.8.2
ORM TypeORM 0.3.x
Cache Redis 7.2.4
Authentication JWT + Passport -
Container Docker Compose -

πŸš€ λΉ λ₯Έ μ‹œμž‘

πŸ“‹ 사전 μš”κ΅¬μ‚¬ν•­

  • Node.js 18.0.0 이상
  • Docker & Docker Compose
  • Infisical CLI (ν™˜κ²½λ³€μˆ˜ κ΄€λ¦¬μš©)

πŸ”§ 둜컬 사전 μž‘μ—…

1. Infisical μ„€μΉ˜

# macOS (Homebrew)
brew install infisical/infisical/infisical

# λ˜λŠ” λ‹€λ₯Έ μ„€μΉ˜ 방법은 https://infisical.com/docs μ°Έμ‘°

2. Infisical 둜그인

# μ›Ή λΈŒλΌμš°μ €λ₯Ό ν†΅ν•œ 둜그인
infisical login

# λ˜λŠ” μ„œλΉ„μŠ€ 토큰 μ‚¬μš© (CI/CD ν™˜κ²½)
export INFISICAL_TOKEN=your-service-token

🎯 개발 ν™˜κ²½ μ‹€ν–‰

# 1. μ˜μ‘΄μ„± μ„€μΉ˜
npm install

# 2. Docker μ»¨ν…Œμ΄λ„ˆ μ‹€ν–‰ (DB, Redis)
docker-compose -f docker-compose.dev.yml up -d
docker network create docker-network

# 3. 개발 μ„œλ²„ μ‹€ν–‰ (μžλ™μœΌλ‘œ infisicalμ—μ„œ ν™˜κ²½λ³€μˆ˜ 동기화)
npm run start:dev

# μˆ˜λ™μœΌλ‘œ ν™˜κ²½λ³€μˆ˜ λ™κΈ°ν™”λ§Œ ν•˜κ³  싢은 경우
npm run env:sync

⚠️ μ€‘μš” μ•ˆλ‚΄

  • .env.local νŒŒμΌμ€ Git에 ν¬ν•¨λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
  • npm run env:sync λͺ…λ Ήμ–΄λ‘œ κ°œλ³„μ μœΌλ‘œ ν™˜κ²½λ³€μˆ˜λ₯Ό 동기화해야 ν•©λ‹ˆλ‹€
  • infisical 둜그인이 ν•„μš”ν•©λ‹ˆλ‹€: infisical login

πŸ”„ λ™μž‘ 방식

  • npm run start:dev μ‹€ν–‰ μ‹œ μžλ™μœΌλ‘œ infisical dev ν™˜κ²½μ˜ ν™˜κ²½λ³€μˆ˜λ₯Ό .env.local 파일둜 동기화
  • κ·Έ ν›„ .env.local νŒŒμΌμ„ μ‚¬μš©ν•˜μ—¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ‹€ν–‰

πŸ“ ν”„λ‘œμ νŠΈ ꡬ쑰

πŸ“¦ src/
β”œβ”€β”€ 🌐 api/             # 도메인별 API λͺ¨λ“ˆ
β”‚   β”œβ”€β”€ πŸ‘€ user/        # μ‚¬μš©μž 관리
β”‚   β”œβ”€β”€ πŸ“‹ board/       # κ²Œμ‹œνŒ
β”‚   └── πŸ” login/       # 인증
β”œβ”€β”€ πŸ”§ common/          # 곡톡 μœ ν‹Έλ¦¬ν‹°
β”œβ”€β”€ πŸ—„οΈ database/        # μ—”ν‹°ν‹°, λ§ˆμ΄κ·Έλ ˆμ΄μ…˜
└── βš™οΈ config/          # μ„€μ • 관리

πŸ› οΈ μ£Όμš” λͺ…λ Ήμ–΄

πŸ”¨ 개발

npm run start:dev     # 개발 μ„œλ²„ (ν™˜κ²½λ³€μˆ˜ μžλ™ 동기화 + watch)
npm run start:debug   # 디버그 λͺ¨λ“œ (infisical 직접 μ‚¬μš©)
npm run start         # 일반 μ‹€ν–‰ (infisical 직접 μ‚¬μš©)
npm run build         # λΉŒλ“œ
npm run env:sync      # ν™˜κ²½λ³€μˆ˜ μˆ˜λ™ 동기화 (dev ν™˜κ²½)
npm run lint          # μ½”λ“œ 검사

πŸ§ͺ ν…ŒμŠ€νŠΈ

npm test              # λ‹¨μœ„ ν…ŒμŠ€νŠΈ
npm run test:e2e      # E2E ν…ŒμŠ€νŠΈ
npm run test:cov      # 컀버리지
npm run test:watch    # ν…ŒμŠ€νŠΈ watch

πŸ—„οΈ λ°μ΄ν„°λ² μ΄μŠ€

npm run migration:run       # λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ μ‹€ν–‰ (infisical 직접 μ‚¬μš©)
npm run migration:revert    # λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ 되돌리기 (infisical 직접 μ‚¬μš©)
npm run migration:generate  # λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ 생성 (infisical 직접 μ‚¬μš©)
npm run migration:create    # μƒˆ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ 생성
npm run migration:show      # λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ μƒνƒœ 확인 (infisical 직접 μ‚¬μš©)

🌐 API λ¬Έμ„œ

μ„œλΉ„μŠ€ URL μ„€λͺ…
πŸ“– Swagger UI https://api.hankkibuteo.com/api/document API λ¬Έμ„œ
πŸ’š Health Check https://api.hankkibuteo.com/v1/health μƒνƒœ 확인

πŸ‘₯ κΈ°μ—¬μž

πŸ“š 더 λ§Žμ€ 정보

Notion

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages