WE-EMS 프로젝트의 백엔드 서버 레포지토리입니다.
이 프로젝트는 RESTful API 원칙을 준수하며, 유지보수와 확장성을 고려하여 계층형 아키텍처(Layered Architecture) 기반으로 설계되었습니다.
| Category | Technology |
|---|---|
| Runtime | Node.js |
| Framework | Express |
| Database | MySQL, Prisma ORM |
| Auth | Kakao OAuth |
| Docs | Swagger |
| Cloud | AWS EC2 (Deployment), AWS S3 (Image Upload) |
프로젝트의 폴더 구조는 도메인(기능)별로 분리되어 있으며, 각 도메인 내에서 계층이 나뉘어 있습니다.
src
│ db.config.js # DB 설정 파일
│ index.js # 서버 진입점 (Entry Point)
│
├─applications # [도메인] 돌봄 요청 신청 관련 기능
│ │ applications.controller.js # 신청 관련 요청 처리
│ │ applications.service.js # 신청 비즈니스 로직
│ │ applications.repository.js # 신청 DB 접근
│ │ applications.route.js # 신청 라우터 설정
│ │ └─dto # 신청 관련 데이터 구조 (Request/Response)
│
├─auth # [도메인] 인증 및 인가 (카카오 로그인)
│ │ auth.controller.js
│ │ auth.middleware.js # 인증 관련 미들웨어 (JWT 등)
│ │ auth.service.js
│ │ └─dto
│
├─helps # [도메인] 돌봄 요청 글 게시/조회
│ │ helps.controller.js
│ │ helps.service.js
│ │ └─dto
│
├─store # [도메인] 조각 상점 (포인트/아이템)
│ │ store.controller.js
│ │ store.service.js
│ │ └─dto
│
├─users # [도메인] 사용자 관리 및 마이페이지
│ │ users.controller.js
│ │ users.service.js
│ │ └─dto
│
├─middleware # 공통 미들웨어
│ image.uploader.js # 이미지 업로드 처리
│ uuid.js # UUID 생성 유틸
│
├─swagger # API 문서화 설정
│ swagger.config.js
│ swaggerSpec.js
│
└─generated # Prisma Client 생성 파일
└─prisma
(추가예정)
main: 운영 배포용develop: 통합 개발 브랜치feature/{기능이름}: 기능 추가fix/{버그설명}: 버그 수정refactor/{리팩토링내용}: 리팩토링 작업
| 태그 | 설명 |
|---|---|
| ✨ Feat | 기능 추가 |
| 🐛 Fix | 버그 수정 |
| ♻️ Refactor | 리팩토링 |
| 📄 Docs | 문서 작업 |
| 🎨 Style | 스타일 변경 |
| 🔧 Chore | 설정 변경 |
| ✅ Test | 테스트 코드 |
| 🗃️ Rename | 파일/폴더명 변경 |
| 🚀 Deploy | 배포 관련 |