Skip to content

LinkYou-2025/LinkU_backend

Repository files navigation

backend-server

πŸ”— 링큐(Link:U): Link+You
링크와 당신을 μž‡λ‹€ 당신을 μƒκ°ν•˜λŠ” 링큐

μœ μ €λ§žμΆ€ λ§ν¬μΆ”μ²œμœΌλ‘œ "μ‚¬μš©μžμ—κ²Œ κ°€μž₯ μ ν•©ν•œ μ½˜ν…μΈ λ₯Ό 제곡" ν•˜λ©°,
λ‹¨μˆœ 아카이빙을 λ„˜μ–΄, 정보 μž¬μ†ŒλΉ„μ™€ 재발견의 즐거움을 제곡.

  • μ‚¬μš©μžκ°€ 앱에 μ €μž₯ν•œ 링크λ₯Ό λ°”νƒ•μœΌλ‘œ AIκ°€ 정보λ₯Ό κ°„λ‹¨νžˆ μš”μ•½ν•˜κ³  λΆ„λ₯˜
  • μ €μž₯된 링크 기반으둜 μ‚¬μš©μžμ˜ λΌμ΄ν”„μŠ€νƒ€μΌ, 감정 μƒνƒœ 등을 κ³ λ €ν•œ λ§žμΆ€ν˜• νλ ˆμ΄μ…˜ μ„œλΉ„μŠ€ 제곡
  • μ €μž₯ν•œ 링크λ₯Ό λ§žμΆ€ν˜• λ‰΄μŠ€λ ˆν„° ν˜•μ‹μœΌλ‘œ 제곡 ν‘œμ§€

βœ… μ§„ν–‰ 사항 확인

  • Notionμ—μ„œ μžμ„Έν•œ 진행사항 λ³΄λŸ¬κ°€κΈ° ->
    Notion

πŸ’™ νŒ€μ› μ†Œκ°œ

μž₯μ„œμ› 이지원 λ‚˜ν˜„μ£Ό 쑰효림
@oculo0204 @JiwonLee42 @HyeonJooooo @hyorim-jo
ai기반 링크 생성 및 μΆ”μ²œ, νšŒμ› νƒˆν‡΄, μ„œλ²„ 배포 둜그인/이메일 인증, FCM μ•Œλ¦Ό κΈ°λŠ₯ ai기반 링크 νλ ˆμ΄μ…˜, cloudwatch μ„€μ • 폴더 곡유 포함 폴더 κ΄€λ ¨ κΈ°λŠ₯, νλ ˆμ΄μ…˜, AI 기반 λ‚΄/μ™ΈλΆ€ 링크 μΆ”μ²œ (νλ ˆμ΄μ…˜ λ‚΄λΆ€)

πŸ›  기술 μŠ€νƒ 및 ν™˜κ²½

  • Backend

    • Java 17
    • Spring Boot 3.4.7
    • Gradle 8.14.2
    • Hibernate ORM 6.0.2
  • Database

    • MariaDB 3.3.3 (JDBC λ“œλΌμ΄λ²„)
  • 캐싱 및 μ„Έμ…˜

    • Redis (spring-boot-starter-data-redis)
  • λ³΄μ•ˆ 및 인증

    • Spring Security
    • JWT (jjwt 라이브러리)
  • API λ¬Έμ„œν™”

    • Swagger (springdoc-openapi-starter-webmvc-ui 2.7.0)
  • UI ν…œν”Œλ¦Ώ

    • Thymeleaf + Spring Security
  • ν΄λΌμš°λ“œ & 인프라

    • AWS EC2, S3, Route53
  • CI/CD

    • GitHub Actions
  • μ£Όμš” 라이브러리

    • Lombok, QueryDSL, JavaMail, SendGrid, Jsoup, Spring WebFlux
  • Gradle μ„€μ •

    • java, org.springframework.boot, io.spring.dependency-management ν”ŒλŸ¬κ·ΈμΈ 적용
    • QueryDSL μžλ™ 생성, 컴파일러 μΆ”κ°€ μ˜΅μ…˜ μ„€μ •

πŸ“š λ¬Έμ„œ


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

backend-server/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main/
β”‚   β”‚   β”œβ”€β”€ java/com/linku/
β”‚   β”‚   β”‚   β”œβ”€β”€ controller/   # API μ—”λ“œν¬μΈνŠΈ
β”‚   β”‚   β”‚   β”œβ”€β”€ service/      # λΉ„μ¦ˆλ‹ˆμŠ€ 둜직
β”‚   β”‚   β”‚   β”œβ”€β”€ repository/   # 데이터 μ ‘κ·Ό 계측
β”‚   β”‚   β”‚   β”œβ”€β”€ config/       # μ„€μ •
β”‚   β”‚   β”‚   └── utils/        # μœ ν‹Έλ¦¬ν‹° 클래슀
β”‚   β”‚   └── resources/
β”‚   β”‚       β”œβ”€β”€ application.properties
β”‚   β”‚       └── data.sql      # μ΄ˆκΈ°κ°’ μ„€μ •
β”‚   └── test/
β”‚       └── java/com/linku/
└── build.gradle

πŸ“Œ Branch μ „λž΅

Branch

λ³Έ ν”„λ‘œμ νŠΈλŠ” Gitflow 브랜치 μ „λž΅μ„ λ”°λ¦…λ‹ˆλ‹€.

브랜치 μ „λž΅ μ„€λͺ… 이미지

λͺ¨λ“  κΈ°λŠ₯ κ°œλ°œμ€ λ‹€μŒ 흐름을 λ”°λ¦…λ‹ˆλ‹€.

  1. κ°œλ°œν•˜κ³ μž ν•˜λŠ” κΈ°λŠ₯에 λŒ€ν•œ 이슈λ₯Ό λ“±λ‘ν•˜μ—¬ 번호λ₯Ό λ°œκΈ‰ν•©λ‹ˆλ‹€.
  2. main λΈŒλžœμΉ˜λ‘œλΆ€ν„° λΆ„κΈ°ν•˜μ—¬ 이슈 번호λ₯Ό μ‚¬μš©ν•΄ 이름을 뢙인 feature 브랜치λ₯Ό λ§Œλ“  ν›„ μž‘μ—…ν•©λ‹ˆλ‹€.
  3. μž‘μ—…μ΄ μ™„λ£Œλ˜λ©΄ develop λΈŒλžœμΉ˜μ— ν’€ μš”μ²­μ„ μž‘μ„±ν•˜κ³ , νŒ€μ›μ˜ λ™μ˜λ₯Ό μ–»μœΌλ©΄ λ³‘ν•©ν•©λ‹ˆλ‹€.

Branch μ’…λ₯˜

  • main κΈ°λŠ₯ 개발 톡합 브랜치 (pull requestν•˜κ³  λ™λ£Œλ“€μ—κ²Œ mergeμš”μ²­, 확인이 였래걸리면 슀슀둜 merge) 데λͺ¨μš© ν”„λ‘œμ νŠΈμ΄κΈ° λ•Œλ¬Έμ— 배포용 브랜치λ₯Ό λ”°λ‘œ 두지 μ•ŠμŠ΅λ‹ˆλ‹€.
  • feature/{이슈번호}{κ°„λ‹¨ν•œμ„€λͺ…} μƒˆλ‘œμš΄ κΈ°λŠ₯ 개발 브랜치
  • fix/{이슈번호}{κ°„λ‹¨ν•œμ„€λͺ…} 버그 μˆ˜μ • 브랜치
  • hotfix/{이슈번호}{κ°„λ‹¨ν•œμ„€λͺ…} κΈ΄κΈ‰ μˆ˜μ • 브랜치
  • refactor/{이슈번호}{κ°„λ‹¨ν•œμ„€λͺ…} λ¦¬νŒ©ν† λ§ 브랜치
  • chore/{이슈번호}{κ°„λ‹¨ν•œμ„€λͺ…} 기타 μ„€μ •, νŒ¨ν‚€μ§€ λ³€κ²½ λ“±

Branch μ„€λͺ…

  1. κΈ°λŠ₯개발이 μ™„λ£Œλœ λΈŒλžœμΉ˜λŠ” developλΈŒλžœμΉ˜μ— mergeν•©λ‹ˆλ‹€.
  2. merge된 BranchλŠ” μ‚­μ œν•©λ‹ˆλ‹€.

    βœ… μ˜ˆμ‹œ
  • feature/#12-login-api
  • fix/#17-cors-error
  • chore/#20-env-setting

    βœ… Git μ‚¬μš© κ·œμΉ™

컀밋 λ©”μ‹œμ§€ ν˜•μ‹

  • #이슈번호 <νƒ€μž…>: <λ³€κ²½ μš”μ•½>
  • <νƒ€μž…> μ’…λ₯˜
    νƒœκ·Έ 이름 μ„€λͺ…
    [init] μ΄ˆκΈ°μ„€μ •
    [chore] μ½”λ“œ μˆ˜μ •, λ‚΄λΆ€ 파일 μˆ˜μ •
    [feat] μƒˆλ‘œμš΄ κΈ°λŠ₯ κ΅¬ν˜„
    [add] FEAT μ΄μ™Έμ˜ λΆ€μˆ˜μ μΈ μ½”λ“œ μΆ”κ°€, 라이브러리 μΆ”κ°€, μƒˆλ‘œμš΄ 파일 생성
    [hotfix] issueλ‚˜ QAμ—μ„œ κΈ‰ν•œ 버그 μˆ˜μ •μ— μ‚¬μš©
    [fix] 버그, 였λ₯˜ ν•΄κ²°
    [del] μ“Έλͺ¨ μ—†λŠ” μ½”λ“œ μ‚­μ œ
    [docs] READMEλ‚˜ WIKI λ“±μ˜ λ¬Έμ„œ κ°œμ •
    [correct] 주둜 λ¬Έλ²•μ˜ 였λ₯˜λ‚˜ νƒ€μž…μ˜ λ³€κ²½, 이름 변경에 μ‚¬μš©
    [move] ν”„λ‘œμ νŠΈ λ‚΄ νŒŒμΌμ΄λ‚˜ μ½”λ“œμ˜ 이동
    [rename] 파일 이름 변경이 μžˆμ„ λ•Œ μ‚¬μš©
    [improve] ν–₯상이 μžˆμ„ λ•Œ μ‚¬μš©
    [refactor] μ „λ©΄ μˆ˜μ •μ΄ μžˆμ„ λ•Œ μ‚¬μš©
    [test] ν…ŒμŠ€νŠΈ μ½”λ“œ μΆ”κ°€ μ‹œ μ‚¬μš©

πŸ’™μ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜

링큐 μ„œλΉ„μŠ€ 아킀텍쳐 drawio (2)

erd

linkU-BE

Copyright

Β© 2025 LinkU Team. All rights reserved.

This project and its source code are proprietary and confidential. Unauthorized copying, modification, distribution, or use of this software is strictly prohibited.

About

This repository belongs to UMC LinkU 2025 project and this is for spring boot challengers who called backend.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages