Skip to content

Team-Crackdown/TAVE-Backend

Repository files navigation

💻 TAVE App-Backend 💻

image

🔨 프로젝트 사용기술

  • Spring Boot
  • Java 11
  • MySQL
  • Gradle
  • AWS S3, RDS, EC2, S3 Bucket
  • Swagger
  • Docker
  • Spring Security
  • Intellij IDEA

🔧 작성한 API

  • S3
  • SSE
  • Cool SMS
  • Google OTP

🚩 Monolithic Architecure

저희 팀은 소프트웨어 아키텍처로 서비스 사용자 추이를 고려하여 모놀리식 아키텍처를 이용하였습니다.

image

❓ 모놀리식 아키텍처 사용 이유?

모놀리식 아키텍처는 마이크로서비스 아키텍처와 비교했을 때 구현 시간이 짧으며, 주어진 시간 안에 빠르게 개발할 수 있는 장점이 있습니다.
또한, 현재 서비스의 사용자 수가 많지 않다는 점을 고려하여 마이크로서비스 아키텍처를 도입하지 않고 모놀리식 아키텍처를 선택하게 되었습니다.

📌 DB ERD 구조

image

✋ CI/CD 구조

빌드와 배포 작업의 수동 조작 대신 개발 단계를 자동화하여 짧은 주기로 제공할 수 있도록 하였습니다.

image

❓❗ 주요 Issues ❓❗

✔️ ec2 릴리즈시 CD과정을 거치지 않을경우의 문제
✔️ SSE 연결 시 Timeout Exception 발생
✔️ Exception 예외 상황 발생시 요청사항

🔥 프로젝트 주요 관심사

✔️ 지속적인 유지 보수를 진행 중입니다.
✔️ 서버 성능을 개선하기 위해 노력하고 있습니다.
✔️ 사용자들로부터의 피드백을 수집하고 분석하여 개선점을 도출할 작업을 계획하고 있습니다.
✔️ 꾸준한 코드 리팩토링을 진행중입니다.
✔️ 프로젝트가 오래 지속될 수 있도록 기술적 지속성을 고려하고 있습니다.

✨ 의존성

  • Springframework
  • Google OTP
  • Cool SMS
  • AWS S3
  • My SQL
  • Swagger
  • Mapstruct, Lombok
  • H2 Database
  • Spring Security
  • JUnit4

🔥 Swagger 문서

  • localhost:8081/docs

📌 실행시 유의사항

  • application.yml이 올라와있지 않아 실행이 되지 않습니다!! 실행을 원하시면 별도로 요청주시기 바랍니다!!

☺️ 참고 문서

AWS EC2
CI/CD
Spring Security
Mapper

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages