FanTree-House / FanTree-Back

0 stars 2 forks source link

FanTree-House

image (6)

배포 주소

| [백엔드 배포 주소]() | [프론트 배포 주소]() |

👩‍💻 팀원


팀장 : 이시영


부팀장 : 김가은


팀원 : 김나영


팀원 : 김우진


팀원 : 김우석


프로젝트 소개

FANTREE HOUSE

🌟 프로젝트 시작 동기 🌟

JD 직무분석 및 기획 아이디어

🔎 프로젝트 소개

팬과 아티스트가 함께 소통하고, 구독을 통한 개인화된 서비스를 제공하여 더욱 가까운 관계를 형성할 수 있는 플랫폼

📝 프로젝트 목표

🌟 주요 기능


Stacks


실행환경

JDK 17
SpringBoot 3.3

아키텍쳐

image

image


API 명세서

API 명세서


ERD

image


⚖️기술적 의사결정

| 도구/기술 |선택이유| |:----------------------------------------------------------------------------------------------------------:|---| |MySQL|지금까지 학습한 데이터베이스라 새로운 데이터베이스로 넘어가면 러닝 커브가 커질 것을 우려하였고, 특히 읽기 작업에 최적화되어 대량의 데이터를 다루는 웹 애플리케이션에서 빠른 응답 속도를 유지할 수 있기 때문에 MySQL을 선택 | |Java 17 |Spring Boot 3.0부터 지원되며, 장기 지원(LTS) 버전으로 안정성과 긴 지원 기간을 제공하기 때문에 선택 | | Redis| 메일 인증에 필요한 인증 데이터를 잠깐 사용하기 위해 Redis를 캐시에 저장하여, 효율적으로 관리하고 데이터베이스 부하를 줄이기 위해 선택| |Docker |애플리케이션을 컨테이너화하여 환경에 구애받지 않고 일관되게 배포할 수 있어, 개발과 운영 간의 불일치를 줄이고 효율성을 높이기 위해 선택 | | EC2|필요에 따라 서버 리소스를 쉽게 조정할 수 있기 때문에 배포 및 공유DB용도로 사용 | |S3|높은 내구성과 가용성을 제공하여 대량의 사진 데이터를 저장하기 위해 사용| |Flyway|Batch를 사용함에 있어서 메타 테이블이 필요하다는 것을 알게 되었고, 해당 테이블을 데이터베이스 형상관리 툴인 Flyway를 사용하면서 메타 테이블의 관리를 분리 시킴| |Spring Batch|휴면 계정으로 전환을 할 때 관리자가 하나하나 바꿀 수 없기 때문에 계정 상태를 프로그램 내부에서 자동적으로 바꿔주는 시스템이 필요했기 때문에 사용|