협업형 여행 계획 플랫폼 우리어때의 백엔드 서버입니다.
- Language: Java 21
- Framework: Spring Boot 4.0.5
- Database: PostgreSQL 17 + PostGIS 3.5, MongoDB 8
- Cache: Redis 8
- Auth: Spring Security + JWT
- Realtime: WebSocket + STOMP
- Build: Gradle
- Container: Jib (eclipse-temurin:21-jre)
src/main/java/com/howaboutus/backend/
├── common/ ← 설정, 공통 엔티티, 예외 처리, 외부 연동
├── ai/ ← AI 관련 기능
├── auth/ ← 인증/인가
├── bookmarks/ ← 북마크
├── messages/ ← 채팅 메시지 (MongoDB)
├── places/ ← 장소 (PostGIS 공간 데이터)
├── realtime/ ← WebSocket 실시간 통신
├── rooms/ ← 채팅방
├── schedules/ ← 일정
└── user/ ← 사용자
- Java 21
- Docker & Docker Compose
.env.dev파일 (환경변수 설정)
# dev 프로파일로 실행 (Docker Compose로 DB/Redis/MongoDB 자동 시작)
./gradlew bootRun --args='--spring.profiles.active=dev'./gradlew build
./gradlew test
./gradlew bootJar# DB만 (백엔드 개발자)
docker compose --env-file .env.dev -f compose.db.dev.yaml up -d
docker compose --env-file .env.dev -f compose.db.dev.yaml down
# DB + 앱 (프론트엔드 개발자)
docker compose --env-file .env.dev -f compose.db.dev.yaml -f compose.app.dev.yaml up -d --build
docker compose --env-file .env.dev -f compose.db.dev.yaml -f compose.app.dev.yaml down| 프로파일 | 용도 | 설명 |
|---|---|---|
dev |
로컬 개발 | Docker Compose 자동 start/stop, PostgreSQL 5433, MongoDB 27017 |
prod |
배포 | AWS Lightsail, 외부 DB/Redis 연결 |
- REST API: Springdoc OpenAPI —
/swagger-ui/index.html(dev 환경 전용) - WebSocket: Springwolf —
/springwolf/asyncapi-ui.html(dev 환경 전용)

