Skip to content

Commit 6160648

Browse files
committed
.env 로드 스크립트 수정 및 대시보드 모듈 JwtGuard 설정 추가, Docker 편의 명령어 개선
1 parent ca03eac commit 6160648

6 files changed

Lines changed: 34 additions & 6 deletions

File tree

Makefile

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.PHONY: dev-up dev-down dev-logs dev-reset api-rebuild migrate migrate-gen seed build lint install db-studio
1+
.PHONY: dev-up dev-down dev-logs dev-reset api-rebuild migrate migrate-gen seed build lint install db-studio docker-up docker-down
22

33
DB_USER ?= marrylife
44
DB_PASS ?= marrylife
@@ -9,7 +9,18 @@ DB_PORT ?= 5432
99
DATABASE_URL = postgres://$(DB_USER):$(DB_PASS)@$(DB_HOST):$(DB_PORT)/$(DB_NAME)
1010

1111
dev-up:
12-
docker compose up -d db api
12+
@echo "🐳 Starting PostgreSQL in Docker..."
13+
docker compose up -d db
14+
@echo ""
15+
@echo "✅ Database is running!"
16+
@echo ""
17+
@echo "📝 Next steps:"
18+
@echo " 1. Run 'pnpm dev' to start development servers (FE + BE with hot reload)"
19+
@echo " 2. Access:"
20+
@echo " - Frontend: http://localhost:3000"
21+
@echo " - Backend: http://localhost:4000"
22+
@echo " - API Docs: http://localhost:4000/api"
23+
@echo ""
1324

1425
dev-down:
1526
docker compose down
@@ -24,10 +35,16 @@ dev-reset:
2435
api-rebuild:
2536
docker compose up -d --build api
2637

27-
up:
38+
docker-up:
39+
@echo "🐳 Starting all services in Docker (DB + API + Web)..."
2840
docker compose up -d
2941

30-
up-build:
42+
docker-down:
43+
@echo "🛑 Stopping all Docker services..."
44+
docker compose down
45+
46+
docker-up-build:
47+
@echo "🐳 Building and starting all services in Docker..."
3148
docker compose up -d --build
3249

3350
migrate:

apps/api/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"scripts": {
88
"build": "nest build",
99
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
10+
"dev": "dotenv -e ../../.env -- nest start --watch",
1011
"start": "nest start",
1112
"start:dev": "nest start --watch",
1213
"start:debug": "nest start --debug --watch",
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
import { Module } from '@nestjs/common';
2+
import { JwtModule } from '@nestjs/jwt';
3+
import { JwtAuthGuard } from '../common/guards/jwt-auth.guard';
4+
import { LedgerMemberGuard } from '../common/guards/ledger-member.guard';
25
import { DashboardController } from './dashboard.controller';
36
import { DashboardService } from './dashboard.service';
47

58
@Module({
9+
imports: [JwtModule.register({})],
610
controllers: [DashboardController],
7-
providers: [DashboardService],
11+
providers: [DashboardService, JwtAuthGuard, LedgerMemberGuard],
812
})
913
export class DashboardModule {}

memories/task.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
- **상태:** 완료
3535
- **범위:** `apps/api`
3636
- **설명:** 응답 래퍼 인터셉터(success/error 형식), 글로벌 예외 필터(HttpException → error 형식), Swagger 설정(@nestjs/swagger), DB 연결 모듈(packages/db 연결), ValidationPipe 글로벌 설정.
37+
- **진행 메모 (2026-03-31):** 루트 `pnpm dev`에서 `.env`를 전역 주입하던 설정을 제거하고, `apps/api``dev` 스크립트에서만 `../../.env`를 로드하도록 조정해 웹 포트(3000) 오염을 방지.
3738
- **참조:** api-conventions.md §2~§3, architecture.md §2
3839
- **완료 조건:**
3940
- 모든 응답이 `{ success: true, data }` 또는 `{ success: false, error: { code, message } }` 형식
@@ -62,6 +63,7 @@
6263
- **상태:** 완료
6364
- **범위:** `apps/api` — common/guards
6465
- **설명:** `JwtAuthGuard` — Authorization Bearer 헤더에서 Access Token 검증, 만료 시 401 반환. `LedgerMemberGuard` — URL 파라미터 `ledgerId`로 해당 유저의 멤버십 확인, 미소속 시 403 반환. 두 Guard를 데코레이터로 편리하게 적용할 수 있도록 커스텀 데코레이터 작성.
66+
- **진행 메모 (2026-03-31):** `DashboardModule``JwtModule.register({})``JwtAuthGuard`/`LedgerMemberGuard` provider 등록 누락을 보완해 `JwtService` DI 오류를 수정.
6567
- **참조:** architecture.md §5
6668
- **완료 조건:**
6769
- 인증 없이 보호된 엔드포인트 접근 시 401

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"private": true,
44
"scripts": {
55
"build": "turbo run build",
6-
"dev": "turbo run dev",
6+
"dev": "pnpm exec turbo run dev",
77
"lint": "turbo run lint",
88
"format": "prettier --write \"**/*.{ts,tsx,md}\"",
99
"check-types": "turbo run check-types",
@@ -17,6 +17,7 @@
1717
"devDependencies": {
1818
"@svgr/cli": "^8.1.0",
1919
"@types/node": "^25.4.0",
20+
"dotenv-cli": "^8.0.0",
2021
"prettier": "^3.7.4",
2122
"turbo": "^2.8.15",
2223
"typescript": "5.9.2"

pnpm-lock.yaml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)