후루룩은 라면을 좋아하는 모든 사람들을 위한 공간입니다.
나만의 레시피를 공유하고 다른 사람들의 창의적인 레시피를 구경해보세요!
🍜 레시피 공유
자신만의 특별한 라면 레시피를 공유하기
💬 커뮤니티 활동
다른 사용자와 댓글로 소통하고 피드백 주고받기
🧡 좋아요 및 북마크
마음에 드는 레시피는 '좋아요'로 응원하고, 계속 보고 싶은 레시피는 북마크로 저장하기
🔍 레시피 검색
라면 이름으로 원하는 레시피를 쉽게 찾기
🥇 라면 월드컵
라면 이상형 월드컵으로 가장 좋아하는 라면을 선택하고 순위 확인하기
BackEnd
Authentication
JWT, OAuth
Deployment and Cloud
AWS S3, AWS CloudFront, Railway
Code Quality Management
ESLint, Prettier
src/
├── @types/ # 타입 정의
├── auth/ # 인증 관련 모듈
├── common/
│ ├── decorators/ # 커스텀 데코레이터
│ ├── filters/ # 예외 필터
│ ├── interceptors/ # 인터셉터
│ ├── guards/ # 인증, 인가 가드
│ └── pipes/ # 파이프
├── config/ # 환경 설정
├── database/ # 데이터베이스 설정
├── modules/
│ ├── aws/ # AWS 관련(S3) 모듈
│ ├── comments/ # 댓글 모듈
│ ├── events/ # 이벤트 모듈
│ ├── recipes/ # 레시피 모듈
│ ├── tags/ # 태그 모듈
│ ├── users/ # 유저 모듈
├── utils/ # 유틸리티 함수
├── app.module.ts
└── main.ts
-
파일명은 .으로 연결합니다. 모듈이 둘 이상의 단어로 구성되어 있으면 -(하이픈)으로 연결합니다.
-
클래스명은 PascalCase를 사용합니다.
-
같은 디렉터리에 있는 클래스는 index.ts를 통해 import하는 것을 권장합니다.
// user/index.ts export * from './user.service'; export * from './user.controller'; export * from './user.dto'; // 다른 파일 import { UserService, UserController, UserDto } from './user';
-
인터페이스는 Series 인터페이스를 정의하고 하위 인터페이스/클래스를 만듭니다.
interface Series {} interface BookSeries extends Series {} class MovieSeries extends Series {}
<type>(<scope>): <subject>
1. 커밋 메시지 제목은 영어, 50자 이내로 작성합니다.
2. 명령형, 현재 시제를 사용합니다.
3. 첫 글자를 대문자로 쓰지 않습니다. (feat: add ~)
4. 마침표(.) 및 특수 문자를 사용하지 않습니다.
type | 설명 | type | 설명 |
---|---|---|---|
feat | 기능 구현 | perf | 성능 개선 |
fix | 버그 수정 | test | 테스트 추가/수정 |
docs | 문서 작업 | chore | 기능, 버그와 관련 없는 잡일 |
style | 코드 스타일, 포맷 변경 | build | 빌드 시스템, 외부 종속성 변경 |
refactor | 리팩터링 |
[branch]
- main: 프로덕션 배포
- develop: 개발 통합
- feature: 기능 개발
- hotfix: 긴급 버그 수정(배포 이후)
작업 전, ISSUE를 생성하고 github project에 추가합니다.
기능별로 feature branch를 분기하여 작업합니다. 브랜치명은 기능명으로 짓습니다.
작업이 완료되면 PR 생성 후, develop에 병합합니다. (PR 템플릿을 사용하여 작업 내용을 상세히 기술합니다)
저장소 복제 후, 프로젝트 폴더로 이동하여 의존성을 설치합니다.
> git clone https://github.com/nxnaxx/hululug-server.git
> yarn install
root directory에 .env
파일을 생성하고 아래와 같이 작성합니다. *는 필수값
# 서버 구성
PORT={서버 포트 번호}
FRONTEND_URL={클라이언트 URL}*
LOCAL_URL={클라이언트 로컬 URL}
# DB
DATABASE_URL={MongoDB URL}*
# 인증
JWT_SECRET={JWT 시크릿 키}*
KAKAO_REST_API_KEY={카카오 REST API 키}*
KAKAO_REDIRECT_URI={카카오 리디렉트 URI}*
# AWS S3
AWS_S3_BUCKET_NAME={AWS S3 버킷명}*
AWS_S3_ACCESS_KEY={AWS S3 액세스 키}*
AWS_S3_SECRET_ACCESS_KEY={AWS S3 시크릿 액세스 키}*
AWS_REGION={AWS S3 리전}*
# CDN
AWS_CLOUDFRONT={AWS CloudFront 도메인}*
# 개발 모드로 실행
yarn start:dev
# 프로덕션 모드로 실행
yarn start:prod
김도연 | 윤석준 | 김민석 | 유성민 |
---|---|---|---|
Design, Backend | Backend | Frontend | Frontend |
기획서 및 디자인
API 문서