Skip to content

TeamDATEROAD/DATEROAD-SERVER

Repository files navigation

DATEROAD-SERVER

탄탄데로 Server Repository🩷


💘 Date Road

dateroad

데이트로드는 ‘장소 중심’이 아닌 ‘코스 중심’ 데이트 공유 서비스로 사용자가 직접 데이트 코스를 등록하고 공유합니다.

주요 기능

1️⃣ 코스 등록하기 및 열람

기능 설명1 기능 설명2
  • 내가 한 데이트 코스를 등록하고 포인트를 획득할 수 있습니다.
  • 다른 커플들이 한 데이트를 포인트를 사용해 열람할 수 있습니다.
  • 코스 상세 페이지에서 ‘내 일정에 추가하기’ 버튼을 눌러 내 데이트 일정으로 불러올 수 있습니다.

2️⃣ 일정 등록하기 및 열람

기능 설명3 기능 설명4
  • 내 데이트 일정을 등록할 수 있습니다.
  • 내 데이트 일정을 확인할 수 있습니다.
  • 지난 데이트는 코스 등록하기로 연동해 등록하고 포인트를 받을 수 있습니다.
  • 카카오톡 공유하기를 통해 데이트 일정을 연인에게 공유할 수 있습니다.

Contributors ✨

@gardening-y @sjk4618 @rlarlgnszx
@gardening-y @sjk4618 @rlarlgnszx
역할 팀 리더 백엔드 개발 백엔드 개발
담당 API
  • 데이트 코스 좋아요 해제 API
  • 데이트 코스 좋아요 등록 API
  • 유저 등록 데이트 코스 조회 API (내가 등록한 코스)
  • 데이트 일정 등록 API
  • 데이트 일정 삭제 API
  • 지난 & 다가올 데이트 일정 전체 조회 API
  • 데이트 일정 상세 조회 API
  • 데이트 코스 필터링 조회 API
  • 메인 다가올 일정(1개) 조회 API
  • JWT 재발급 API
  • 유저 프로필 조회 API (마이페이지)
  • 유저 프로필 수정 API
  • 유저 포인트 조회 API (메인)
  • 탈퇴하기 API
  • 로그아웃 API
  • 로그인 API
  • 회원가입 API
  • 닉네임 중복확인 API
  • 포인트 사용 [유저 데이트 코스 열람] API
  • 데이트 코스 삭제 API
  • 데이트 코스 상세 조회 API
  • 데이트 코스 등록 API
  • 데이트 코스 전체 조회 API
  • 열람 데이트 코스 전체 조회 API
  • 포인트 내역 조회 API
  • 광고 상세 조회 API
  • 광고 전체 조회 API

  • API 명세서

    API 명세서


    Architecture v1

    DateRoad_Server_Arch

    Architecture v2

    Untitled (15)

    📁 폴더 구조

    ├── 📁 dateroad-api
    │   └── src
    │       └── main
    │           └── java
    │               └── org
    │                   └── 📁 dateroad
    │                       ├── 📁 auth
    │                       │   ├── argumentresolve
    │                       │   ├── config
    │                       │   ├── exception
    │                       │   ├── filter
    │                       │   └── jwt
    │                       ├── 📁 common
    │                       ├── 📁 config
    │                       └── 📁 domain
    │                           ├── api
    │                           ├── dto
    │                           │   ├── request
    │                           │   └── response
    │                           └── service
    ├── dateroad-common
    │   └── src
    │       └── main
    │           └── java
    │               └── org
    │                   └── 📁 dateroad
    │                       ├── 📁 code
    │                       ├── 📁 common
    │                       └── 📁 exception
    ├── dateroad-domain
    │   └── src
    │       └── main
    │           └── java
    │               └── org
    │                   └── 📁 dateroad
    │                       ├── 📁 advertisement
    │                       │   └── domain
    │                       ├── 📁 common
    │                       ├── 📁 config
    │                       ├── 📁 date
    │                       │   ├── domain
    │                       │   └── repository
    │                       ├── 📁 dataAccess
    │                       │   ├── domain
    │                       │   └── repository
    │                       ├── 📁 image
    │                       │   ├── domain
    │                       │   └── repository
    │                       ├── 📁 like
    │                       │   ├── domain
    │                       │   └── repository
    │                       ├── 📁 place
    │                       │   ├── domain
    │                       │   └── repository
    │                       ├── 📁 point
    │                       │   ├── domain
    │                       │   └── repository
    │                       ├── 📁 tag
    │                       │   ├── domain
    │                       │   └── repository
    │                       ├── 📁 user
    │                           ├── domain
    │                           └── repository
    ├── dateroad-external
    │   └── src
    │       └── main
    │           └── java
    │               └── org
    │                   └── 📁 dateroad
    │                       ├── feign
    │                       │   ├── apple
    │                       │   ├── config
    │                       │   └── kakao
    │                       └── s3
    └── gradle
        └── wrapper
    

    ERD

    DATEROAD (1)

    ERD


    Branch Convention

    • main : 프로덕트를 배포하는 브랜치입니다.
    • develop: 프로덕트 배포 전 기능을 개발하는 브랜치입니다.
    • feature: 단위 기능을 개발하는 브랜치로 단위 기능 개발이 완료되면 develop 브랜치에 merge 합니다.
    • hotfix: main 브랜치로 프로덕트가 배포 된 이후 이슈가 발생했을 때 이를 긴급하게 해결하는 브랜치입니다.

    Commit Convetion

    • feat : 새로운 기능 구현 feat: 구글 로그인 API 기능 구현 - #11
    • fix : 코드 오류 수정 fix: 회원가입 비즈니스 로직 오류 수정 (#10)
    • del : 불필요한 코드 삭제 del: 불필요한 import 제거 (#12)
    • docs : README나 wiki 등의 문서 개정 docs: 리드미 수정 (#14)
    • refactor : 내부 로직은 변경 하지 않고 기존의 코드를 개선하는 리팩터링 refactor: 코드 로직 개선 (#15)
    • chore : 의존성 추가, yml 추가와 수정, 패키지 구조 변경, 파일 이동 등의 작업 chore: yml 수정 (#21), chore: lombok 의존성 추가 (#22)
    • test: 테스트 코드 작성, 수정 test: 로그인 API 테스트 코드 작성 (#20)
    • setting: 세팅
    • merge: 머지


    Git Convention 📋

    데이트로드 서버 팀의 깃 컨벤션이 궁금하다면? ✔️




    Code Convention 📋

    데이트로드 서버 팀의 코드 컨벤션이 궁금하다면? ✔️




    Teck Stack ✨

    IDE IntelliJ
    Language Java 21
    Framework Spring Boot 3.3.1, Gradle
    Authentication Spring Security, JSON Web Tokens
    Orm Spring Data JPA
    Database PostgreSQL
    External AWS EC2, AWS RDS, Nginx, Docker, Docker-Compose, Redis
    CI/CD Github Action
    API Docs Notion, Swagger
    Other Tool Discord, Postman, Figma

    서버데로 모음zip💜

    About

    탄탄데로 서버 레포입니다🩷

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    Languages