Skip to content

Ureca-Final-Project-Team2/be_badata

Repository files navigation

📡 BADATA: 백엔드 소개

신속한 핵심 기능 구현과 고도화를 지향하는 2SEEU BE 파트 ReadMe 입니다.

🛠 기술적 특징

  • RDS 전체 ERD
  • 대여 ERD
  • 거래 ERD
  • 마이페이지 ERD
  • Elastic search ERD

- 아키텍처

image

- 기술 스택

사용 기술 로고 역할 사용 이유
JAVA (ver. 17) Backend 언어 안정성과 대규모 서비스에 적합
Spring Backend Framework 유연한 모듈화와 의존성 관리
Spring Security 보안 관리 인증 및 권한 관리를 위한 강력한 솔루션
Gradle 프로젝트 빌드 관리 빌드 자동화 및 의존성 관리에 용이
JPA ORM Framework 객체-관계 매핑 및 데이터베이스 관리
JUnit5 단위/통합 테스트 애플리케이션 테스트 용이성 제공
PostgreSQL 관계형 DB 공간 DB로서 우수한 성능
Redis 인메모리 저장소 빠른 응답과 성능 향상을 위한 인메모리 기반 캐시 저장소
AWS S3 객체 스토리지 이미지 파일 저장 및 관리
AWS EC2 컴퓨팅 서비스 유연한 서버 인프라 제공
AWS RDS 관리형 DB 간편한 DB 관리 및 자동 백업과 확장성 제공
Grafana 모니터링 도구 시스템/애플리케이션 지표 실시간 모니터링
Prometheus 메트릭 수집 도구 메트릭 수집 및 경고 기능 제공
elasticsearch 모니터링 및 검색 엔진 대용량 데이터 검색에 적합
logstash 데이터 수집 도구 로그 수집 및 ES 연동에 적절
docker 애플리케이션 컨테이너화 실행 환경 일관성 보장


📚 Github Wiki 🔗Wiki에서 열기


🤲 협업

  • 대여, 거래, 마이페이지, SOS, 추천의 큰 5가지 맥락 단위의 기능을 주요 기능, CRUD 비중을 고려해 분담하여 병렬적으로 진행
  • Swagger와 API 명세서를 통해 FE 개발자와 원활한 협업 수행

📑 API 명세서 🔗Swagger에서 열기

사용자 API
대여 API
렌탈 API
SOS API

🏗️ 폴더 구조

📦src
 ┣ 📂main
 ┃ ┣ 📂java
 ┃ ┃ ┗ 📂com
 ┃ ┃ ┃ ┗ 📂TwoSeaU
 ┃ ┃ ┃ ┃ ┗ 📂BaData
 ┃ ┃ ┃ ┃ ┃ ┣ 📂domain
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂auth
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂rental
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂sos
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂store
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂trade
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂user
 ┃ ┃ ┃ ┃ ┃ ┣ 📂global
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂config
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂exception
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂redis
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂response
 ┃ ┃ ┃ ┃ ┃ ┗ 📜BaDataApplication.java
 ┃ ┗ 📂resources
 ┃ ┃ ┣ 📂static
 ┃ ┃ ┣ 📂templates
 ┃ ┃ ┣ 📜application-dev.properties
 ┃ ┃ ┣ 📜application-local.properties
 ┃ ┃ ┗ 📜application.yml

📆 개발 일정

기간 내용
6/30 ~ 7/6 기획 및 프로젝트 초기 세팅 (CRUD 및 API 개발)
7/7 ~ 7/15 1차 스프린트 (85% 기능 개발)
7/16 ~ 7/18 2차 스프린트 (15% 기능 개발, 수정사항 및 새로운 요구사항 반영)
7/19 ~ 7/20 테스트 코드 작성
7/21 ~ 8/1 성능 최적화 / 고도화 (주요 기능 최적화 및 고도화)
8/2 ~ 8/7 최종 QA 및 문서화

🚀 핵심 기능 요약

로그인

  • JWT 기반 인증/인가 구현

대여

  • 클러스터링이 적용된 지도 개발
  • 동시성을 고려한 대여 예약 기능 구현

거래

  • PortOne 연동으로 PG사 결제/환불 처리
  • Redis Sort Set로 지금 인기 있는 게시글 점수 산출
  • Elastic Search 기반 빠른 검색
  • Elastic Search 실시간 검색어 기능 구현

마이페이지

  • 반정규화로 성능 최적화

SOS

  • 동시성, 실시간성을 가진 SOS 기능 구현

ETC

  • Grafana를 사용해 시스템 모니터링 구축

🧑🏻‍💻 역할 분담


👑 이진우

김도연

조윤주
  • 소셜 로그인 및 인증/인가
  • 가맹점 지도 시스템
  • 렌탈 시스템
  • 거래 커뮤니티, 결제 시스템
  • 실시간 게시글/검색어 개발
  • 게시글 추천 시스템
  • CI/CD
  • 인프라
  • 사용자 시스템
  • SOS 시스템
  • OCR

About

BE_디지털 자원을 연결하는 통합형 데이터 공유 플랫폼 ‘BADATA’ 🐳

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6

Languages