Skip to content

T-BluePot/barogagi-back

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—ΊοΈ λ°”λ‘œκ°€κΈ° (Barogagi)

AI 기반 슀마트 일정 μΆ”μ²œ ν”Œλž˜λ„ˆ

Java Spring Boot Spring Security JPA QueryDSL MyBatis MariaDB JWT Swagger


πŸ“‹ λͺ©μ°¨


🎯 ν”„λ‘œμ νŠΈ μ†Œκ°œ

"μ–΄λ”” κ°ˆμ§€ κ³ λ―Όν•˜λŠ” μ‹œκ°„, 이제 그만!"

μΉœκ΅¬λ“€κ³Ό λ§Œλ‚˜κΈ°λ‘œ ν–ˆλŠ”λ° μ–΄λ””λ₯Ό κ°ˆμ§€ μ •ν•˜λŠλΌ μ‹œκ°„λ§Œ κ°€κ³ , 검색해도 μ›ν•˜λŠ” κ²°κ³Όκ°€ μ•ˆ λ‚˜μ˜€λŠ” κ²½ν—˜, λˆ„κ΅¬λ‚˜ μžˆμœΌμ‹œμ£ ?

λ°”λ‘œκ°€κΈ°λŠ” ν‚€μ›Œλ“œ 기반으둜 ν•˜λ£¨ 일정을 μžλ™μœΌλ‘œ μΆ”μ²œν•΄μ£ΌλŠ” 슀마트 ν”Œλž˜λ„ˆμž…λ‹ˆλ‹€. 레고 블둝을 μŒ“λ“―μ΄ 큰 μΌμ •λ§Œ μ„ νƒν•˜λ©΄, AIκ°€ μ„ΈλΆ€ μž₯μ†Œμ™€ λ£¨νŠΈκΉŒμ§€ μ•Œμ•„μ„œ μ§œλ“œλ¦½λ‹ˆλ‹€!

πŸ€” μ™œ λ°”λ‘œκ°€κΈ°λ₯Ό λ§Œλ“€μ—ˆλ‚˜μš”?

  • πŸ” κ²€μƒ‰μ˜ 고톡: "λͺ¨λ°€μ§‘" κ²€μƒ‰ν–ˆλŠ”λ° λΌλ©˜μ§‘λ§Œ λ‚˜μ˜΄
  • ⏰ μ‹œκ°„μ˜ λ‚­λΉ„: μ–΄λ”” κ°ˆμ§€ μ•Œμ•„λ³΄λŠ”λ° λ§Œλ‚¨ μ‹œκ°„μ˜ 절반 μ†Œλͺ¨
  • πŸ—ΊοΈ 루트의 ν˜Όλž€: 효율적인 동선을 μ§œλŠ” 게 λ„ˆλ¬΄ 어렀움
  • πŸ‘₯ 의견 쑰율 μ§€μ˜₯: μΉœκ΅¬λ“€ μ·¨ν–₯ λ§žμΆ”κΈ°κ°€ μ „μŸ

✨ λ°”λ‘œκ°€κΈ°μ˜ ν•΄κ²°μ±…

  • ⚑ ν‚€μ›Œλ“œ 기반 μ¦‰μ‹œ μΆ”μ²œ: "카페 β†’ 식사 β†’ 데이트" μ„ νƒλ§ŒμœΌλ‘œ μ™„μ„±
  • 🧩 λ ˆκ³ μ‹ 일정 ꡬ성: 큰 ν‹€λ§Œ μ‚¬μš©μžκ°€, μ„ΈλΆ€λŠ” AIκ°€
  • πŸ—ΊοΈ 슀마트 루트 μ΅œμ ν™”: 이동 μ‹œκ°„μ„ κ³ λ €ν•œ 효율적 동선
  • 🎯 λ§žμΆ€ν˜• μΆ”μ²œ: κ·Έλ£Ή ν‚€μ›Œλ“œ 기반 λͺ¨λ‘κ°€ λ§Œμ‘±ν•˜λŠ” μž₯μ†Œ

✨ μ£Όμš” κΈ°λŠ₯

🎨 ν™ˆ ν™”λ©΄

  • νŠΈλ Œλ”© ν•«ν”Œλ ˆμ΄μŠ€: μ§€κΈˆ 인기 μžˆλŠ” μž₯μ†Œλ₯Ό μ‹€μ‹œκ°„ λž­ν‚ΉμœΌλ‘œ ν‘œμ‹œ
  • 둀링 μ• λ‹ˆλ©”μ΄μ…˜: Framer Motion으둜 κ΅¬ν˜„ν•œ λΆ€λ“œλŸ¬μš΄ μˆœμœ„ 변동
  • λ“œλž˜κ·Έ μΊλŸ¬μ…€: ν„°μΉ˜/λ“œλž˜κ·Έλ‘œ νƒμƒ‰ν•˜λŠ” νŠΈλ Œλ”© 일정 λͺ©λ‘

πŸ“… 슀마트 일정 생성

  • ν‚€μ›Œλ“œ 기반 μΆ”μ²œ: "카페", "λ§›μ§‘", "데이트" λ“± ν‚€μ›Œλ“œ 선택
  • AI μžλ™ ꡬ성: μ„ νƒν•œ ν‚€μ›Œλ“œμ— λ§žλŠ” 졜적의 μž₯μ†Œ μΆ”μ²œ
  • μ‹œκ°„ν‘œ λ·°: μ—λΈŒλ¦¬νƒ€μž„μ²˜λŸΌ 직관적인 일정 μ‹œκ°ν™”
  • νƒœκ·Έ μ‹œμŠ€ν…œ: 일정별 μΉ΄ν…Œκ³ λ¦¬ λΆ„λ₯˜ 및 필터링

πŸ—ΊοΈ 루트 μ΅œμ ν™”

  • 이동 μ‹œκ°„ 계산: μž₯μ†Œ κ°„ μ‹€μ œ 이동 μ‹œκ°„ κ³ λ €
  • 효율적 동선: μ΅œλ‹¨ 거리 기반 μˆœμ„œ μžλ™ μ‘°μ •
  • 지도 μ‹œκ°ν™”: νŠΈλ¦¬ν”Œμ²˜λŸΌ 전체 루트λ₯Ό μ§€λ„λ‘œ ν‘œμ‹œ

πŸ‘₯ κ·Έλ£Ή κΈ°λŠ₯

  • 멀버 μ΄ˆλŒ€: μΉœκ΅¬λ“€κ³Ό 일정 곡유
  • 곡동 ν‚€μ›Œλ“œ: κ·Έλ£Ήμ›λ“€μ˜ μ„ ν˜Έλ„ 톡합 뢄석
  • μ•Œλ¦Ό μ‹œμŠ€ν…œ: "이동할 μ‹œκ°„μ΄μ—μš”!" μ‹€μ‹œκ°„ μ•Œλ¦Ό

πŸ” μ‚¬μš©μž 인증

  • 이메일 νšŒμ›κ°€μž…: μ•ˆμ „ν•œ 이메일 기반 계정 생성
  • OAuth 둜그인: Google, Kakao, Naver μ†Œμ…œ 둜그인
  • 계정 μ°ΎκΈ°: 아이디/λΉ„λ°€λ²ˆν˜Έ μ°ΎκΈ° 및 μž¬μ„€μ •

πŸ› οΈ 기술 μŠ€νƒ

Backend

μΉ΄ν…Œκ³ λ¦¬ 기술 버전 μ„€λͺ…
Core Java 17 LTS 기반 λ°±μ—”λ“œ μ–Έμ–΄
Framework Spring Boot 3.2.1 REST API 및 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ν”„λ ˆμž„μ›Œν¬
Web Spring Web 3.2.1 RESTful API 개발
Persistence Spring Data JPA 3.2.1 ORM 기반 데이터 μ ‘κ·Ό
Query QueryDSL 5.0.0 νƒ€μž… μ•ˆμ „ 동적 쿼리
SQL Mapper MyBatis 3.0.3 SQL 기반 데이터 처리
Database MariaDB 3.1.4 κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€
Security Spring Security 3.2.1 인증 및 인가 처리
Auth OAuth2 Client 3.2.1 μ†Œμ…œ 둜그인
Auth JWT (jjwt) 0.11.5 토큰 기반 인증
Validation Spring Validation 3.2.1 μš”μ²­ κ°’ 검증
API Docs Springdoc OpenAPI (Swagger) 2.1.0 API λ¬Έμ„œ μžλ™ν™”
Encryption Jasypt 3.0.4 민감 정보 μ•”ν˜Έν™”
Messaging Nurigo SMS SDK 4.3.0 SMS 인증
Build Tool Maven 3.x μ˜μ‘΄μ„± 및 λΉŒλ“œ 관리
Dev Tools Spring Boot DevTools 3.2.1 개발 생산성 ν–₯상
Utility Lombok 1.18.38 λ³΄μΌλŸ¬ν”Œλ ˆμ΄νŠΈ μ½”λ“œ 제거

πŸš€ μ‹œμž‘ν•˜κΈ°

βš™οΈ μ„€μΉ˜ 및 μ‹€ν–‰

  1. μ €μž₯μ†Œ 클둠

    git clone https://github.com/T-BluePot/barogagi-back.git
    cd barogagi-back
  2. ν™˜κ²½ μ„€μ •

    # application.yml λ˜λŠ” application.properties μ„€μ •
    # (DB, OAuth, JWT, Jasypt κ΄€λ ¨ κ°’ ν•„μš”)
  3. μ˜μ‘΄μ„± μ„€μΉ˜ 및 λΉŒλ“œ

    ./mvnw clean install
  4. 개발 μ„œλ²„ μ‹€ν–‰

    ./mvnw spring-boot:run
    λ˜λŠ”
    java -jar target/barogagi-1.0-SNAPSHOT.jar

πŸ“ ν”„λ‘œμ νŠΈ ꡬ쑰

barogagi-back/
β”œβ”€β”€ .github/                    # GitHub μ›Œν¬ν”Œλ‘œμš°/μ„€μ •
β”œβ”€β”€ src/
β”‚   └── main/
β”‚       β”œβ”€β”€ java/com/
β”‚       β”‚   └── barogagi
β”‚       β”‚       β”œβ”€β”€ config/         # ai κ΄€λ ¨ μ½”λ“œ
β”‚       β”‚       β”œβ”€β”€ approval/       # 인증 κ΄€λ ¨ μ½”λ“œ
β”‚       β”‚       β”œβ”€β”€ config/         # μ„€μ • 클래슀
β”‚       β”‚       β”œβ”€β”€ kakaoplace/     # 카카였 μž₯μ†Œ 검색 API κ΄€λ ¨ μ½”λ“œ
β”‚       β”‚       β”œβ”€β”€ logging/        # 둜그 κ΄€λ ¨ μ½”λ“œ
β”‚       β”‚       β”œβ”€β”€ mainPage/       # λ©”μΈνŽ˜μ΄μ§€ API κ΄€λ ¨ μ½”λ“œ
β”‚       β”‚       β”œβ”€β”€ member/         # νšŒμ› API κ΄€λ ¨ μ½”λ“œ
β”‚       β”‚       β”œβ”€β”€ naverblog/      # 넀이버 λΈ”λ‘œκ·Έ API κ΄€λ ¨ μ½”λ“œ
β”‚       β”‚       β”œβ”€β”€ plan/           # κ³„νš API κ΄€λ ¨ μ½”λ“œ
β”‚       β”‚       β”œβ”€β”€ region/         # μž₯μ†Œ API κ΄€λ ¨ μ½”λ“œ
β”‚       β”‚       β”œβ”€β”€ response/       # API 응닡 객체
β”‚       β”‚       β”œβ”€β”€ schedule/       # 일정 API κ΄€λ ¨ μ½”λ“œ
β”‚       β”‚       β”œβ”€β”€ sendSms/        # λ©”μ‹œμ§€ λ°œμ†‘
β”‚       β”‚       β”œβ”€β”€ tag/            # νƒœκ·Έ API κ΄€λ ¨ μ½”λ“œ
β”‚       β”‚       β”œβ”€β”€ terms/          # μ•½κ΄€ API κ΄€λ ¨ μ½”λ“œ
β”‚       β”‚       β”œβ”€β”€ util/           # μœ ν‹Έ API κ΄€λ ¨ μ½”λ“œ
β”‚       β”‚   β”œβ”€β”€ Application.java    # 메인 μ‹€ν–‰ 클래슀
β”‚       β”‚   β”œβ”€β”€ SwaggerConfig       # Swagger κ΄€λ ¨ μ½”λ“œ
β”‚       └── resources/
β”‚           β”œβ”€β”€ mapper                     # 쿼리
β”‚           └── application.properties/    # ν™˜κ²½μ„€μ • (DB, OAuth, JWT λ“±)
β”œβ”€β”€ .gitignore                   # Git λ¬΄μ‹œ 파일 λͺ©λ‘
β”œβ”€β”€ Dockerfile                   # Docker 이미지 λΉŒλ“œ μ„€μ •
β”œβ”€β”€ README.md                    # ν”„λ‘œμ νŠΈ μ„€λͺ… 및 μ‹€ν–‰ 방법 :contentReference[oaicite:1]{index=1}
└── pom.xml                     # Maven μ˜μ‘΄μ„± 및 λΉŒλ“œ μ„€μ • :contentReference[oaicite:2]{index=2}

πŸ“ μ»¨λ²€μ…˜ κ°€μ΄λ“œ

컀밋 λ©”μ‹œμ§€

<type>(<scope>): <subject>

<body>

<footer>

Type

  • feat: μƒˆλ‘œμš΄ κΈ°λŠ₯ μΆ”κ°€
  • fix: 버그 μˆ˜μ •
  • docs: λ¬Έμ„œ μˆ˜μ •
  • style: μ½”λ“œ ν¬λ§·νŒ…, μ„Έλ―Έμ½œλ‘  λˆ„λ½ λ“±
  • refactor: μ½”λ“œ λ¦¬νŒ©ν† λ§
  • test: ν…ŒμŠ€νŠΈ μ½”λ“œ
  • chore: λΉŒλ“œ, νŒ¨ν‚€μ§€ λ§€λ‹ˆμ € μ„€μ • λ“±
  • design: CSS λ“± UI λ””μžμΈ λ³€κ²½

μ˜ˆμ‹œ

feat(auth): 이메일 둜그인 κΈ°λŠ₯ κ΅¬ν˜„

- 이메일/λΉ„λ°€λ²ˆν˜Έ 검증 둜직 μΆ”κ°€
- 둜그인 μ‹€νŒ¨ μ‹œ μ—λŸ¬ λ©”μ‹œμ§€ ν‘œμ‹œ
- λ‘œλ”© μƒνƒœ UI κ΅¬ν˜„

Closes #123

브랜치 μ „λž΅

main              # ν”„λ‘œλ•μ…˜ 배포
β”œβ”€β”€ develop       # 개발 톡합
    β”œβ”€β”€ feat/     # κΈ°λŠ₯ 개발
    β”œβ”€β”€ fix/      # 버그 μˆ˜μ •
    β”œβ”€β”€ design/   # UI/UX μž‘μ—…
    └── docs/     # λ¬Έμ„œ μž‘μ—…

브랜치 넀이밍

  • feature/login-page
  • fix/ranking-animation
  • design/main-page
  • docs/readme

πŸ“‘ API λͺ…μ„Έ


🀝 κΈ°μ—¬ν•˜κΈ°

λ°”λ‘œκ°€κΈ° ν”„λ‘œμ νŠΈμ— κΈ°μ—¬ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€!

κΈ°μ—¬ ν”„λ‘œμ„ΈμŠ€

  1. Fork 이 μ €μž₯μ†Œ
  2. 브랜치 생성 (git checkout -b feature/AmazingFeature)
  3. 컀밋 (git commit -m 'feat: Add some AmazingFeature')
  4. Push (git push origin feature/AmazingFeature)
  5. Pull Request 생성

개발 λ―ΈνŒ…

  • μ£ΌκΈ°: 2주에 1회
  • μš”μΌ: μœ λ™μ  (λ§€μ£Ό μ›”μš”μΌ λ…Όμ˜)
  • 방식: 온라인 λ˜λŠ” μ˜€ν”„λΌμΈ

λ‹€μŒ 회의 TODO

  • μ»¨λ²€μ…˜ κ°€μ΄λ“œ μ΅œμ’… ν™•μ •
  • API λͺ…μ„Έμ„œ μž‘μ„±
  • ν”Œλ‘œμš° 차트 μž‘μ„±
  • Use Case Diagram μž‘μ„±
  • GitHub ν”„λ‘œμ νŠΈ μ„€μ •
  • README μ—…λ°μ΄νŠΈ

πŸ‘₯ νŒ€

T-BluePot - μ—΄μ • λ„˜μΉ˜λŠ” κ°œλ°œμžλ“€μ˜ λͺ¨μž„

μ—­ν•  λ‹΄λ‹Ήμž GitHub
ν”„λ‘ νŠΈμ—”λ“œ μ€μš° @jeong-eun-woo
ν”„λ‘ νŠΈμ—”λ“œ μ„œλ¦Ό @μ„œλ¦Ό
λ°±μ—”λ“œ 효경 @dksgyrud1349
λ°±μ—”λ“œ λ‹€λ―Ό @효경

πŸ“„ λΌμ΄μ„ μŠ€

이 ν”„λ‘œμ νŠΈλŠ” MIT λΌμ΄μ„ μŠ€ ν•˜μ— λ°°ν¬λ©λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ LICENSE νŒŒμΌμ„ μ°Έμ‘°ν•˜μ„Έμš”.


πŸ™ κ°μ‚¬μ˜ 말

이 ν”„λ‘œμ νŠΈλŠ” λ‹€μŒ μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈλ“€μ˜ 도움을 λ°›μ•˜μŠ΅λ‹ˆλ‹€:

  • Java 17 - λ°±μ—”λ“œ μ–Έμ–΄, LTS 버전
  • Spring Boot 3.2.1 - μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ν”„λ ˆμž„μ›Œν¬
  • Spring Security - 인증/인가 처리
  • JPA / Hibernate - ORM 기반 데이터 처리
  • QueryDSL - νƒ€μž… μ•ˆμ „ 동적 쿼리
  • MyBatis - SQL 기반 데이터 μ ‘κ·Ό
  • MariaDB - κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€
  • JWT - 토큰 기반 인증
  • Springdoc OpenAPI - API λ¬Έμ„œν™”

⭐ 이 ν”„λ‘œμ νŠΈκ°€ λ§ˆμŒμ— λ“œμ…¨λ‹€λ©΄ Starλ₯Ό λˆŒλŸ¬μ£Όμ„Έμš”! ⭐

Made with ❀️ by T-BluePot Team

Β© 2025 Barogagi. All rights reserved.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages