-
Docthru는 개발 관련 영어 문서를 함께 번역하는 챌린지 플랫폼입니다. 영어로 작성된 개발 문서를 한국어로 번역하고, 피드백을 주고받으며 함께 성장하는 공간을 제공합니다
graph LR
classDef client fill:#FFD700,stroke:#B8860B,stroke-width:2px,color:#333;
classDef router fill:#87CEEB,stroke:#4682B4,stroke-width:2px,color:#333;
classDef middleware fill:#90EE90,stroke:#3CB371,stroke-width:2px,color:#333;
classDef auth_middleware fill:#ADD8E6,stroke:#6495ED,stroke-width:2px,color:#333;
classDef logic fill:#D8BFD8,stroke:#9370DB,stroke-width:2px,color:#333;
classDef db_access fill:#FFA07A,stroke:#CD5C5C,stroke-width:2px,color:#333;
classDef database fill:#6A5ACD,stroke:#483D8B,stroke-width:2px,color:#FFF;
classDef error_handle fill:#F08080,stroke:#B22222,stroke-width:2px,color:#FFF;
classDef generic_node fill:#F5DEB3,stroke:#DAA520,stroke-width:2px,color:#333;
subgraph 클라이언트 요청
A[사용자/프론트엔드 요청]:::client --> B{API Endpoint 호출}:::client
end
subgraph 백엔드 애플리케이션 처리
B --> C[Router / Routes]:::router
C --> D{Middleware 검증}:::middleware
D -- 인증/권한 확인 --> D1([verifyToken, Passport.js]):::auth_middleware
D -- 유효성 검사 --> D2([Validator]):::middleware
D1 & D2 --> E{인증/검증 성공?}:::generic_node
E -- 실패 시 --> F([errorHandler]):::error_handle
E -- 성공 시 --> G([Controller]):::logic
G --> H([Service]):::logic
H --> I([Repository]):::db_access
I --> J([Prisma ORM]):::db_access
J --> K([PostgreSQL Database]):::database
K -- 데이터 응답 --> J
J --> I
I --> H
H --> G
G --> L(응답 전송)
end
L --> A
| 이름 | 역할 | GitHub | 개인 개발 보고서 |
|---|---|---|---|
| 조성빈 | 🍉 팀장 | github | 보고서 |
| 심유빈 | 🍒 팀원 | github | 보고서 |
| 오하영 | 🍑 팀원 | github | 보고서 |
| 김홍섭 | 🍇 팀원 | github | 보고서 |
| 황수정 | 🍎 팀원 | github | 보고서 |
| 김수경 | 🍊 팀원 | github | 보고서 |
| 박민규 | 🍈 팀원 | github | 보고서 |
- 인증 및 인가 관리
- 사용자 및 관리자 관리
- 챌린지 및 작업물 관리
- 피드백 및 추천 시스템
- 알림 시스템
- 데이터베이스 관리
클릭하여 프로젝트 구조 보기
📦src
┣ 📂constants/ # 전역 상수 정의
┣ 📂controllers/ # API 요청 처리 및 응답 담당 (각 도메인별 분리)
┣ 📂exceptions/ # 커스텀 예외 및 에러 메시지 정의
┣ 📂middlewares/ # 요청 전처리/후처리, 인증, 유효성 검사 등 미들웨어
┃ ┗ 📂passport/ # Passport.js 인증 전략 (Google OAuth 포함)
┣ 📂prisma/ # Prisma ORM 관련 파일 (스키마, 마이그레이션, 시딩)
┃ ┣ 📂migrations/ # 데이터베이스 스키마 변경 이력
┃ ┣ 📂seed/ # 초기/테스트 데이터 시딩 로직
┃ ┃ ┗ 📂mocks/ # 시딩을 위한 목(Mock) 데이터
┣ 📂repositories/ # 데이터베이스 접근 및 쿼리 로직
┣ 📂routes/ # API 엔드포인트 및 라우팅 정의
┣ 📂services/ # 비즈니스 로직 및 데이터 처리
┣ 📂utils/ # 재사용 가능한 유틸리티 함수 및 헬퍼
┗ 📜app.js # 애플리케이션의 메인 진입점








