git clone https://github.com/leunbin/yamspoon.git
cd 2stepcd ../backend
npm install
npm startEnvironment Variables
프로젝트를 실행하기 위해 아래 환경 변수를
.env파일에 설정해야합니다.
(각 값을 실제 환경에 맞게 설정해주세요.)
필수
MONGODB_URI : MongoDB 연결 문자열
JWT_SECRET : JWT 토큰 서명 키
권장/기본값이 있는 항목
NODE_ENV : 실행 환경 (development/production)
APPLICATION_NAME : 애플리케이션 이름
PORT : 서버 포트 (예: 3000)
세션
SESSION_SECRET : 세션 쿠키 서명 키
SESSION_RESAVE : 세션 재저장 여부 (true/false)
SESSION_SAVE_UNINITIALIZED : 초기화되지 않은 세션 저장
SESSION_STORE_URL : 세션 저장소 URL
기타
COOKIE_MAX_AGE : 쿠키 만료(ms)
MAIL_ID / MAIL_PASSWORD : 메일 송신 계정 사용 시
S3_KEY / S3_SECRET : S3 업로드를 사용할 때 필요
cd ../frontend
npm install
npm start- 내가 가진 재료를 이용해 레시피를 검색
- 키워드로 레시피 자체를 검색
- 사용자가 레시피를 작성하고 이미지 업로드 가능
- 다른 사용자의 레시피에 좋아요/저장(북마크) 기능 제공
- 직관적이고 간결한 UI로, 최소 클릭으로 레시피 탐색 및 저장 가능
| 구분 (Role) | 이름 |
|---|---|
| 🖥️ Frontend (Client) | 양혜지 |
| 강경림 | |
| 김송이 | |
| 임채리 |
| 구분 (Role) | 이름 | 역할/담당 기능 |
|---|---|---|
| ⚙️ Backend (Server) | 이은빈 |
로그인 회원가입 탈퇴 마이페이지 북마크 아이디/비밀번호 찾기 아이디/닉네임 유효성 검증 메일 인증 |
| 한새환 |
레시피 생성 레시피 수정 레시피 조회 레시피 삭제 좋아요 수 처리 |
-
회원가입 (비밀번호 확인), 로그인/로그아웃 (JWT 인증)
-
마이페이지
- 닉네임/프로필 이미지 수정
- 나의 레시피/좋아요/저장 목록 조회
-
비밀번호 해싱 저장, 인증/인가 미들웨어
-
레시피 작성/수정/삭제/조회 (제목, 설명, 준비물, 조리 단계, 태그)
-
이미지 업로드(여러 장 가능)
- 업로드 시 서버에서 리사이즈/포맷 표준화
-
작성자만 수정/삭제 가능(권한 체크)
-
사용자가 보유 재료를 등록
-
보유 재료로 만들 수 있는 레시피 추천/필터 (포함/제외 재료 필터)
-
텍스트 검색(제목/설명/태그)과 조합 검색 지원
-
레시피 좋아요/취소, 저장/취소(북마크) 기능
-
마이페이지에서 내가 좋아요/저장한 레시피 리스트 관리
-
텍스트 검색: 제목/설명/태그에 대한 전역 검색
-
정렬/필터: 최신순, 좋아요순, 난이도/조리시간/태그 필터(옵션)
-
Swagger로 API 문서화
-
CORS 설정
-
입력값 검증(서버/클라이언트), 에러 처리(AppError)
-
이미지 저장: s3-multer + MongoDB(GridFS)