Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Rodi

초보 운전자를 위한 맞춤형 연습 장소 및 코스 탐색 서비스의 백엔드. 위치기반(geospatial) 탐색이 핵심입니다.

기술 스택

분류 기술
언어/빌드 Java 21, Gradle
프레임워크 Spring Boot 3.5
영속성 Spring Data JPA + Hibernate Spatial, PostgreSQL/PostGIS, Flyway
인증 OAuth2 Client + JWT
API 문서 SpringDoc OpenAPI (Swagger UI)
품질 Spotless, SonarCloud, JaCoCo, CodeRabbit
인프라 Docker Compose, GitHub Actions, GHCR · 운영: AWS Lightsail, Caddy · 개발: Raspberry Pi, Tailscale, Cloudflare Tunnel

로컬 실행

사전 요구: Docker Desktop, JDK 21

cp .env.example .env          # 로컬 DB 값 확인/수정
./gradlew bootRun             # spring-boot-docker-compose가 DB 자동 기동·연결

테스트

./gradlew build   # 컴파일 + 테스트(Testcontainers) + Spotless + JaCoCo
./gradlew spotlessApply   # 포맷 자동 정리

아키텍처

DDD + package-by-feature로 시작, 도메인이 복잡해지면 feature 단위로 점진적 헥사고날 전환. 핵심 원칙: ① 로직은 service ② repository는 인터페이스 ③ 규칙은 entity.

브랜치 & 배포

  • 기능 개발: feat/#이슈번호-기능 → develop PR → 리뷰·CI 통과 후 머지
  • 개발 서버: develop 머지 시 ARM64 이미지 빌드 → GHCR → Raspberry Pi(pi2) 자동 배포 (Tailscale OIDC + SSH, 실패 시 자동 롤백)
  • 릴리즈: develop → main PR → 머지 시 GitHub Actions가 이미지 빌드 → GHCR → Lightsail 자동 배포
  • 서버 주소: 운영 https://api.stillstar.store · 개발 https://dev-api.stillstar.store
  • 인프라 구성도·접근 제어·설정값: docs/infra.md
  • 배포 인프라 결정: ADR 0005(운영) · ADR 0017(개발 서버)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages