Skip to content

how-about-us/backend-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

744 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

How About Us Backend

협업형 여행 계획 플랫폼 우리어때의 백엔드 서버입니다.

Demo

시연 영상

Architecture

아키텍처

Tech Stack

  • 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)

Project Structure

src/main/java/com/howaboutus/backend/
├── common/       ← 설정, 공통 엔티티, 예외 처리, 외부 연동
├── ai/           ← AI 관련 기능
├── auth/         ← 인증/인가
├── bookmarks/    ← 북마크
├── messages/     ← 채팅 메시지 (MongoDB)
├── places/       ← 장소 (PostGIS 공간 데이터)
├── realtime/     ← WebSocket 실시간 통신
├── rooms/        ← 채팅방
├── schedules/    ← 일정
└── user/         ← 사용자

Getting Started

사전 요구사항

  • 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

Docker Compose 수동 제어

# 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

Profiles

프로파일 용도 설명
dev 로컬 개발 Docker Compose 자동 start/stop, PostgreSQL 5433, MongoDB 27017
prod 배포 AWS Lightsail, 외부 DB/Redis 연결

API Documentation

  • REST API: Springdoc OpenAPI — /swagger-ui/index.html (dev 환경 전용)
  • WebSocket: Springwolf — /springwolf/asyncapi-ui.html (dev 환경 전용)

About

우리어때 프로젝트의 BE 레포지토리입니다.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages