Skip to content

prgrms-be-devcourse/NBE6-8-2-Team08

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DevMatch πŸš€

AI 기반 κ°œλ°œνŒ€ λ§€μΉ­ ν”Œλž«νΌ
κ°œλ°œμžμ™€ ν”„λ‘œμ νŠΈλ₯Ό μ§€λŠ₯적으둜 μ—°κ²°ν•˜λŠ” μ°¨μ„ΈλŒ€ ν˜‘μ—… μ†”λ£¨μ…˜

Deploy Status Spring Boot Next.js PostgreSQL

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

DevMatchλŠ” 개발자의 기술 μŠ€νƒκ³Ό ν”„λ‘œμ νŠΈ μš”κ΅¬μ‚¬ν•­μ„ AI둜 λΆ„μ„ν•˜μ—¬ 졜적의 맀칭을 μ œκ³΅ν•˜λŠ” ν”Œλž«νΌμž…λ‹ˆλ‹€. λ‹¨μˆœν•œ 맀칭을 λ„˜μ–΄ νŒ€ κ΅¬μ„±μ˜ νš¨μœ¨μ„±κ³Ό ν”„λ‘œμ νŠΈ 성곡λ₯ μ„ κ·ΉλŒ€ν™”ν•˜λŠ” 것이 λͺ©ν‘œμž…λ‹ˆλ‹€.

✨ 핡심 κΈ°λŠ₯

  • πŸ€– AI 기반 λ§€μΉ­: Spring AI + OpenAIλ₯Ό ν™œμš©ν•œ μ§€λŠ₯ν˜• 개발자-ν”„λ‘œμ νŠΈ λ§€μΉ­
  • πŸ“Š μ‹€μ‹œκ°„ 뢄석: μ§€μ›μž 기술 μŠ€νƒκ³Ό ν”„λ‘œμ νŠΈ 적합도 μ‹€μ‹œκ°„ 뢄석
  • πŸ” μ†Œμ…œ 인증: Google, Kakao, Naver 톡합 OAuth2 인증
  • πŸ“± λ°˜μ‘ν˜• UI: λͺ¨λ“  λ””λ°”μ΄μŠ€μ—μ„œ μ΅œμ ν™”λœ μ‚¬μš©μž κ²½ν—˜
  • ⚑ μ‹€μ‹œκ°„ μ—…λ°μ΄νŠΈ: ν”„λ‘œμ νŠΈ μƒνƒœμ™€ 지원 ν˜„ν™© μ‹€μ‹œκ°„ 동기화

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

Frontend

  • Framework: Next.js 15.4.3 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Animation: Framer Motion
  • UI Components: Radix UI
  • State Management: React Context API
  • HTTP Client: Axios

Backend

  • Framework: Spring Boot 3.5.3
  • Language: Java 21
  • Security: Spring Security + JWT
  • AI Integration: Spring AI + OpenAI
  • Database: PostgreSQL
  • ORM: Spring Data JPA
  • Authentication: OAuth2 (Google, Kakao, Naver)

Infrastructure & DevOps

  • Frontend Deploy: Vercel
  • Backend Deploy: Railway
  • Database: PostgreSQL on Neon
  • Version Control: Git + GitHub
  • CI/CD: Vercel, Railway의 자체 CI/CD κΈ°λŠ₯

πŸ—οΈ μ•„ν‚€ν…μ²˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Frontend      β”‚    β”‚    Backend      β”‚    β”‚   Database      β”‚
β”‚   (Vercel)      │────│   (Railway)     │────│(Neon PostgreSQL)β”‚
β”‚                 β”‚    β”‚                 β”‚    β”‚                 β”‚
β”‚ β€’ Next.js 15    β”‚    β”‚ β€’ Spring Boot   β”‚    β”‚ β€’ PostgreSQL    β”‚
β”‚ β€’ TypeScript    β”‚    β”‚ β€’ Spring AI     β”‚    β”‚ β€’ Connection    β”‚
β”‚ β€’ Tailwind CSS  β”‚    β”‚ β€’ JWT Security  β”‚    β”‚   Pool          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ μ‹€ν–‰ 방법

사전 μš”κ΅¬μ‚¬ν•­

  • Node.js 18+
  • Java 21+
  • PostgreSQL

Frontend μ‹€ν–‰

cd frontend
npm install
npm run dev

🌐 http://localhost:3000

Backend μ‹€ν–‰

cd backend
# ν™˜κ²½λ³€μˆ˜ μ„€μ • (.env.default μ°Έκ³ )
./gradlew bootRun

🌐 http://localhost:8080

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

NBE6-8-2-Team08/
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ app/                 # Next.js App Router
β”‚   β”‚   β”œβ”€β”€ components/          # μž¬μ‚¬μš© κ°€λŠ₯ν•œ μ»΄ν¬λ„ŒνŠΈ
β”‚   β”‚   β”œβ”€β”€ lib/                 # API ν΄λΌμ΄μ–ΈνŠΈ 및 μœ ν‹Έλ¦¬ν‹°
β”‚   β”‚   β”œβ”€β”€ contexts/            # React Context
β”‚   β”‚   └── types/               # TypeScript νƒ€μž… μ •μ˜
β”‚   └── public/                  # 정적 파일
└── backend/
    └── src/main/java/com/devmatch/backend/
        β”œβ”€β”€ domain/              # 도메인별 νŒ¨ν‚€μ§€
        β”‚   β”œβ”€β”€ analysis/        # AI 뢄석 κΈ°λŠ₯
        β”‚   β”œβ”€β”€ application/     # 지원 관리
        β”‚   β”œβ”€β”€ auth/           # 인증/인가
        β”‚   β”œβ”€β”€ project/        # ν”„λ‘œμ νŠΈ 관리
        β”‚   └── user/           # μ‚¬μš©μž 관리
        └── global/             # 곡톡 μ„€μ • 및 μœ ν‹Έλ¦¬ν‹°

πŸ”§ μ£Όμš” κ΅¬ν˜„ 사항

AI λ§€μΉ­ μ•Œκ³ λ¦¬μ¦˜

  • 기술 μŠ€νƒ 뢄석: μ§€μ›μžμ˜ 기술 μŠ€νƒκ³Ό ν”„λ‘œμ νŠΈ μš”κ΅¬μ‚¬ν•­ 비ꡐ
  • 적합도 μŠ€μ½”μ–΄λ§: 닀차원 뢄석을 ν†΅ν•œ μ •λŸ‰μ  λ§€μΉ­ 점수
  • μ‹€μ‹œκ°„ μΆ”μ²œ: ν”„λ‘œμ νŠΈλ³„ 졜적 μ§€μ›μž μ‹€μ‹œκ°„ μΆ”μ²œ

λ³΄μ•ˆ 및 인증

  • JWT 기반 인증: λ¬΄μƒνƒœ 토큰 기반 λ³΄μ•ˆ
  • OAuth2 톡합: μ†Œμ…œ 둜그인 원클릭 지원
  • CORS μ„€μ •: ν”„λ‘ νŠΈμ—”λ“œ-λ°±μ—”λ“œ μ•ˆμ „ν•œ 톡신

μ„±λŠ₯ μ΅œμ ν™”

  • μ½”λ“œ μŠ€ν”Œλ¦¬νŒ…: Next.js μžλ™ λ²ˆλ“€ μ΅œμ ν™”
  • 이미지 μ΅œμ ν™”: Next.js Image μ»΄ν¬λ„ŒνŠΈ ν™œμš©
  • API 응닡 캐싱: 효율적인 데이터 λ‘œλ”©

🌐 배포 정보

🀝 κ°œλ°œνŒ€

8νŒ€ - DevMatch κ°œλ°œνŒ€

  • 김지원: OAuth 2.0 인증 κ΅¬ν˜„, μ‚¬μš©μž 전체 API 개발
  • λ°±μƒν˜„: ν”„λ‘ νŠΈ 전체, AI 기반 μ—­ν•  λ°°λΆ„ 및 μ§€μ›μ„œ 뢄석 κΈ°λŠ₯ 연동
  • μ„κ·Όν˜Έ: μ§€μ›μ„œ 전체 API 개발
  • μž₯λ™ν˜: ν”„λ‘œμ νŠΈ 전체 API 개발
  • μ½”λ“œ 리뷰와 μ‹ μ†ν•œ 문제 곡유 ν™œμ„±ν™”
  • Github Flow 기반 ν˜‘μ—… 및 이슈 관리

개발 κ°€μ΄λ“œ πŸ“‹

브랜치 μ „λž΅

브랜치 λͺ…은 크게 μ„Έ λΆ€λΆ„μœΌλ‘œ λ‚˜λˆ„μ–΄ κ΅¬λΆ„ν•˜κΈ°

  • μ²˜μŒμ—” ν”„λ‘ νŠΈμ—”λ“œ(Front-End)와 λ°±μ—”λ“œ(Back-End) μž‘μ—…μ„ λͺ…ν™•νžˆ κ΅¬λΆ„ν•˜κΈ° μœ„ν•΄ 브랜치 이름에 fe, be 접두사λ₯Ό μ‚¬μš©ν•˜κΈ°
  • μ€‘κ°„μ—λŠ” 라벨λͺ… ν‘œκΈ°
  • λ§ˆμ§€λ§‰μ—” issue의 λ„˜λ²„ ν‘œκΈ°

μ˜ˆμ‹œ

  • fe/enhancement/23
  • be/maintenance/34

Git Issue ν™œμš© 방식

Git IssueλŠ” ν”„λ‘œμ νŠΈ 완성을 μœ„ν•΄ κ°œλ°œμžκ°€ μˆ˜ν–‰ν•΄μ•Ό ν•˜λŠ” κΈ°λŠ₯ λ‹¨μœ„ μž‘μ—…μ„ μ„ΈλΆ„ν™”ν•΄μ„œ κ΄€λ¦¬ν•˜κΈ°

  • μžμ‹ μ΄ 맑은 κΈ°λŠ₯을 κΈ°λŠ₯ λ‹¨μœ„λ‘œ μͺΌκ°œμ–΄ Issue 등둝
  • Issue 제λͺ©μ€ κ°„κ²°ν•˜κ²Œ, λ‚΄μš©μ€ ꡬ체적으둜 μž‘μ„±
  • ν• λ‹Ή(Assignee), 라벨(Labels), μœ ν˜•(Type) 등을 ν™œμš©ν•΄ 업무 λΆ„λ₯˜

μ˜ˆμ‹œ

  • 제λͺ©: [BE] μœ μ € 둜그인 API κ΅¬ν˜„
  • λ‚΄μš©:
    • κ°œμš”: μ„œμš©μž 인증 정보 검증 및 인증 토큰 λ°œν–‰
    • μž‘μ—… λ‚΄μš©:
      • JWT λ°œν–‰
      • 컨트둀러 κ΅¬ν˜„
      • μ„œλΉ„μŠ€ κ΅¬ν˜„

컀밋 λ©”μ‹œμ§€ μž‘μ„± κ·œμΉ™

컀밋 λ©”μ‹œμ§€ ꡬ쑰

헀더, 본문은 빈 ν–‰μœΌλ‘œ κ΅¬λΆ„ν•œλ‹€.

[개발 λΆ„μ•Ό] νƒ€μž…: 제λͺ©

λ³Έλ¬Έ
  1. 제λͺ©μ€ 50κΈ€μž μ΄λ‚΄λ‘œ μž‘μ„±ν•œλ‹€.
  2. 제λͺ©, 본문의 첫 κΈ€μžκ°€ 영문일 경우 λŒ€λ¬Έμžλ‘œ μž‘μ„±ν•œλ‹€.
  3. 제λͺ©, λ³Έλ¬Έ λ‘˜ λ‹€ λ§ˆμΉ¨ν‘œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
  4. 본문의 각 행은 72κΈ€μž μ΄λ‚΄λ‘œ μž‘μ„±ν•œλ‹€.
  5. 제λͺ©μ€ 뭘 ν–ˆλŠ”μ§€, 본문은 μ™œ or κΈ°λŒ€ 효과λ₯Ό κ°„κ²°ν•˜κ²Œ μ λŠ”λ‹€.
  6. 개발 λΆ„μ•ΌλŠ” BE ν˜Ήμ€ FE 라고 ν‘œκΈ°ν•œλ‹€.
  7. νƒ€μž…μ€ μ•„λž˜μ˜ ν‘œλ₯Ό μ°Έκ³ ν•˜μ—¬ μž‘μ„±ν•œλ‹€.
νƒ€μž… 이름 μ„€λͺ…
feat μƒˆλ‘œμš΄ κΈ°λŠ₯에 λŒ€ν•œ 컀밋
fix 버그 μˆ˜μ •μ— λŒ€ν•œ 컀밋
build λΉŒλ“œ κ΄€λ ¨ 파일 μˆ˜μ • / λͺ¨λ“ˆ μ„€μΉ˜ λ˜λŠ” μ‚­μ œ
chore κ·Έ μ™Έ μžμž˜ν•œ μˆ˜μ •μ— λŒ€ν•œ 컀밋
ci CI κ΄€λ ¨ μ„€μ • μˆ˜μ •μ— λŒ€ν•œ 컀밋
docs λ¬Έμ„œ μˆ˜μ •μ— λŒ€ν•œ 컀밋
style μ½”λ“œ μŠ€νƒ€μΌ ν˜Ήμ€ 포맷 등에 κ΄€ν•œ 컀밋
refactor μ½”λ“œ λ¦¬νŒ©ν† λ§μ— λŒ€ν•œ 컀밋
test ν…ŒμŠ€νŠΈ μ½”λ“œ μˆ˜μ •μ— λŒ€ν•œ 컀밋
perf μ„±λŠ₯ κ°œμ„ μ— λŒ€ν•œ 컀밋

μ˜ˆμ‹œ

[BE] feat: Projects 생성 API μž‘μ„±

[BE] refactor: Forλ¬Έ μ½”λ“œ stream으둜 λ³€κ²½

* Stream을 ν†΅ν•œ μ½”λ“œ κ°„κ²°ν™”
* 체이닝 방식을 ν†΅ν•œ 가독성 ν–₯상

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5