Monthsub

image

Monthsub 바로가기

🤗 프로젝트 소개

  • 프로젝트 기간 : 2021/11/26 ~
  • 작가와 독자의 연결고리, 모두의 출판 플랫폼 MonthSub!

🧚‍♀️ 팀 소개

김다희 - 팀장, PO 김은서 - 팀원 유지훈 - 팀원
다희 은서
담당 기능 담당 기능 담당 기능
프로젝트 아키텍처 구성
API 개발
CI/CD 구축
Cloud Watch 구축
HTTPS 연결
S3 이미지 업로드 및 삭제 구현
S3 File 리소스 관리 시스템 설계 및 구현
Criteria를 이용한 커서기반 페이지네이션
Git hooks 지라 티켓 번호 자동화
프로젝트 기획
JWT(Json Web Token) 발급 구현
API 개발
토큰 유무에 따른 권한 체크 구현
CORS 처리 구현
유저 로그 관리 구현
Flyway DDL 형상관리
DB Seed 관리
AWS RDS 이용하여 로컬, 운영 DB 관리
결제 시스템 설계 및 개발
결제 동시 요청 낙관적 락으로 관리
JDK17 sealed와 record를 활용한 DTO 구현
・*Scheduler를 활용한 DB 상태값 관리 *
전체적인 DB 설계
핵심 비지니스 설계 및 구현
시리즈 좋아요 시스템 설계 및 기능 구현
회원 팔로우 시스템 설계 및 기능 구현
프로젝트 예외처리 기능구현


🚀 기술스택

개발 환경

협업 툴

기타


🏗️ 설계

CICD

cicd

Infra Architecture​

architecture

Monthsub Architecture

architecture

ERD

erd

API 문서

Swagger API 문서


💻 개발 환경 설정

  • 프로젝트 설치
$ git clone https://github.com/prgrms-web-devcourse/Team_Sagack_MonthSub_BE

# 프로젝트 루트 디렉토리에서 실행 
# husky 설치로 git hook 관리 
$ npm install
  • 필요 환경 변수
DB_URL=userHost
DB_USER=userName
DB_PASSWORD=userPassword

Project root 경로에 .env 파일 생성 후 필요 환경 변수 작성

  • EnvFile 플러그인 설정
설정 캡쳐 (펼치기)
Run -> Edit configuration Spring boot EnvFile

🔨 기타 규칙

  • 깃 커밋 규칙
    • 브랜치명은 feat/티켓이름으로 한다
    • git hook에 의해 해당 브랜치에서 커밋시 타이틀에 자동으로 티켓이름이 들어간다