Skip to content

fisa3-ce-final/project-camp-backend

Repository files navigation

📌 렌탈 서비스 백엔드 프로젝트 📌

이 백엔드 프로젝트는 렌탈 서비스 플랫폼을 지원하기 위해 설계되었으며, 사용자 관리, 대여 아이템 관리, 주문 처리 및 커뮤니티 상호작용 등의 다양한 기능을 제공합니다.

⚙️ 프로젝트 설정

1. 필수 조건

  • Java 17 (프로젝트 도구 체인에 설정됨)
  • Spring Boot 3.3.5
  • PostgreSQL 데이터베이스

2. 빌드 및 실행

./gradlew bootRun

이 명령어를 사용해 애플리케이션을 시작할 수 있습니다. PostgreSQL이 실행 중이며 접근 가능한 상태인지 확인하십시오.

📦 종속성

  • Spring Boot 스타터: Actuator, Data JPA, Web
  • 데이터베이스: PostgreSQL 드라이버
  • QueryDSL: QueryDSL JPA (복잡한 쿼리용)
  • 로깅: P6Spy (SQL 로깅)
  • 모니터링: Micrometer with Prometheus
  • 문서화: Springdoc OpenAPI

🚀 애플리케이션 구조

  • 도메인: User, RentalItem, Order, CommunityPost 등의 주요 엔티티를 포함합니다.
  • 레포지토리: 데이터베이스와 상호작용하는 데이터 접근 계층입니다.
  • 서비스: 비즈니스 로직을 구현합니다.
  • 컨트롤러: 프론트엔드에 노출되는 API 엔드포인트입니다.

데이터베이스 스키마

이 스키마에는 사용자 관리, 아이템 대여, 주문 처리 및 커뮤니티 상호작용과 같은 다양한 플랫폼 기능을 지원하는 users, rental_item, orders, community_post 등의 테이블이 포함되어 있습니다.

🌐 API 문서

API 문서는 Springdoc OpenAPI를 사용해 생성되며 애플리케이션 실행 후 /swagger-ui.html에서 확인할 수 있습니다.

🧪 테스트

  • JUnit 5: 각 서비스와 컨트롤러 레이어에 대한 유닛 및 통합 테스트를 제공합니다.
  • Testcontainers: PostgreSQL Testcontainer를 사용하여 독립적인 데이터베이스 테스트 환경을 구성합니다.

🔐 보안 (선택 사항)

보안 종속성은 미리 구성되어 있으나 현재는 주석 처리되어 있습니다. build.gradle 파일에서 주석을 해제하여 추가적인 보안 계층을 활성화할 수 있습니다.

📝 추가 정보

  • 데이터베이스 설정을 위한 환경 변수가 제대로 설정되어 있는지 확인하십시오.
  • 각 서비스나 API의 상세 사용법과 응답 구조는 Swagger UI를 통해 참조할 수 있습니다.

프로젝트 구성 세부 사항

프로젝트는 라이브러리 간의 호환성을 위해 Spring Boot의 종속성 관리를 사용합니다. 다양한 환경을 효과적으로 관리할 수 있는 구성 옵션이 제공됩니다.

각 엔티티에 대한 추가 세부 사항은 스키마 문서나 Swagger UI에서 제공되는 API 사양을 통해 확인할 수 있습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors