Skip to content

Travlocks/travlocks-server

Repository files navigation

Travlocks Logo

Travlocks Server

UMC 9th Project 🚀


✈️ Travlocks : 여행 일정을 빠르게, 직관적으로, 재미있게!

블록을 쌓듯 여행 일정을 만드는 새로운 방식의 웹 서비스 Travlocks의 백엔드 저장소입니다.


📌 Travlocks는 이런 서비스예요

Travlocks는
AI를 활용해 여행 일정을 빠르고 직관적으로 설계할 수 있도록 돕는 블록형 여행 일정 웹 서비스입니다.

  • 텍스트 입력이나 복잡한 리스트 작성이 아닌,
  • 블록을 쌓듯 직관적으로 여행 일정을 구성해
  • 여행 설계의 인지적 부담을 줄이는 것에 집중합니다.

“여행을 ‘짜는’ 게 아닌 ‘쌓는’ 즐거움을 유저에게”


🙋🏻‍♀️ Travlocks의 BE Developer를 소개합니다!

권형미 권도희 김도현 김예린 장수현 전다인

💻 기술 스택

역할 종류 선정 이유
Framework Java 기반으로, 강력한 타입 안정성과 Spring 생태계의 검증된 안정성으로 효율적인 서버 구축 가능
Database 안전한 관계형 데이터 관리. 가볍고 최적화된 읽기 성능
Caching 서비스 응답 속도 향상과 서버 부하 감소를 위해 도입
Infra 개발, 테스트, 운영 환경을 컨테이너를 통해 환경 일관성 확보
Integration 코드 통합, 빌드, 테스트를 자동화하여 개발 생산성 향상
Deployment 서비스의 안정성과 확장성을 위한 클라우드 기반 인프라 구축. EC2, S3 등의 서비스를 함께 이용하여 관리 부담을 줄이고 효율적인 배포 환경 구축 가능
Documentation 원활한 협업을 위한 API 명세 자동화

🔗 Git Convention

📌 Git Flow

image
  • main branch : 운영 브랜치

  • develop branch : 개발 브랜치, feature 브랜치가 merge됨

  • feature branch : 기능 개발 브랜치


    ✨ Flow

    • 이슈 생성
    • 이슈 번호에 맞게 develop 브랜치에서 새로운 브랜치를 생성
    • 작업을 완료하고 커밋 컨벤션에 맞게 커밋
    • Pull Request 생성
    • 코드 리뷰 후 develop 브랜치로 병합
      • 최소 2명 승인 후 develop 브랜치로 머지

🔥 Commit Message Convention

  • 커밋 유형

    • feat: 새로운 기능 추가
    • fix: 버그 수정
    • hotfix: 긴급 버그 수정
    • remove: 코드/파일 삭제
    • refactor: 로직 변경없이 코드 개선
    • chore: 자잘한 수정
    • test: 테스트 코드 추가
    • docs: 문서 작업
    • deploy: 배포
  • 형식: [<커밋유형>]: #<이슈번호> <설명>

  • 예시:

    • [feat] #2 템플릿 조회 API 구현

🌿 Branch Convention

  • 브랜치 종류

    • init: 프로젝트 세팅
    • feat: 새로운 기능 추가
    • fix : 버그 수정
    • refactor : 코드 리펙토링
  • 형식: <브랜치종류>/#<이슈번호>-상세기능

  • 예시: feat/#1-template


📂 프로젝트 구조

📦 travlocks-server
├── 📂 .github
│   ├── 📂 ISSUE_TEMPLATE
│   ├── 📜 pull_request_template.md
│   └── 📂 workflows                    # CI/CD 관련 설정
│
├── 📂 src/main/java/com.travlocks
│   ├── 📂 domain                       # 도메인별 비즈니스 로직
│   │   └── 📂 {도메인명}
│   │       ├── 📂 constant
│   │       ├── 📂 controller
│   │       ├── 📂 dto
│   │       ├── 📂 entity
│   │       ├── 📂 enums
│   │       ├── 📂 exception
│   │       └── 📂 service
│   │
│   ├── 📂 global                       # 전역 설정 및 공통 기능
│   │   ├── 📂 annotation               # 커스텀 어노테이션
│   │   ├── 📂 aws                      # AWS 연동
│   │   ├── 📂 code                     # 응답 코드 정의
│   │   ├── 📂 common                   # 공통 유틸리티
│   │   ├── 📂 config                   # 각종 설정 클래스
│   │   ├── 📂 entity
│   │   ├── 📂 exception
│   │   ├── 📂 external
│   │   ├── 📂 geo
│   │   ├── 📂 jwt                      # JWT 토큰 처리
│   │   ├── 📂 mail
│   │   ├── 📂 profile
│   │   ├── 📂 response                 # API 응답 공통 형식
│   │   ├── 📂 security                 # Security 관련 설정
│   │   └── 📂 util
│   │
│   └── 📂 infra
│       ├── 📂 ai
│       ├── 📂 kakao
│       └── 📂 redis
│
├── 📂 resources
│   ├── 📂 mail
│   └── 📜 application.yml
│
├── 📜 .gitignore
├── 📜 build.gradle
├── 📜 docker-compose.yml
├── 📜 Dockerfile
└── 📜 settings.gradle 

📎 데이터 모델링

image

➰ 시스템 아키텍처

image

About

트래블록스 백엔드 레포지토리입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7