Skip to content

πŸ—“οΈ λ‚΄ λͺ©μ†Œλ¦¬λ‘œ λΉ›λ‚΄λŠ” λ‚˜λ§Œμ˜ ν”Œλž˜λ„ˆ, Splanet πŸ—“οΈ

Notifications You must be signed in to change notification settings

kakao-tech-campus-2nd-step3/Team3_BE

Repository files navigation

ᱝ Splanet ᱝ

πŸ₯‡μΉ΄μΉ΄μ˜€ ν…Œν¬ 캠퍼슀 2κΈ° STEP3 μ΅œμš°μˆ˜μƒπŸ₯‡

Speak And Plan It!

πŸ—“οΈ λ‚΄ λͺ©μ†Œλ¦¬λ‘œ λΉ›λ‚΄λŠ” λ‚˜λ§Œμ˜ ν”Œλž˜λ„ˆ, Splanet πŸ—“οΈ

Splanet Landing GIF

Medium Blog: Link


🎨 μ†Œκ°œ

κ³„νšμ„ μ„Έμš°λŠ” 일 λ§ˆμ € κ³„νšμΈ μ—¬λŸ¬λΆ„λ“€κ»˜ μ„ μ‚¬ν•©λ‹ˆλ‹€.


Splanet 은 당신이 ν•΄μ•Ό ν•  일을 기반으둜, λ‹Ήμ‹ μ—κ²Œ λ§žλŠ” μΌμ •ν‘œλ₯Ό μΆ”μ²œν•΄λ“œλ¦½λ‹ˆλ‹€.


πŸ’Ό ν˜„λŒ€μΈμ„ μœ„ν•œ λ˜‘λ˜‘ν•œ 일정 λ§€λ‹ˆμ €

πŸ—£ 말 ν•œλ§ˆλ””λ‘œ λλ‚˜λŠ” 일정 등둝

βœ… μΉœκ΅¬μ™€ ν•¨κ»˜ 더 즐겁게, 더 효율적으둜

πŸ€– μŠ€λ§ˆνŠΈν•œ 일정 κ΄€λ¦¬λ‘œ μ‹œκ°„ μ ˆμ•½


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

✨️ ν•  일 μž…λ ₯ (feat. μ‹€μ‹œκ°„ μŒμ„± 인식) ✨

μ‚¬μš©μžκ°€ ν•΄μ•Όν•  일을 μž…λ ₯ν•©λ‹ˆλ‹€.
λͺ©μ†Œλ¦¬λ‘œ 직접 λ§ν•΄λ³΄μ„Έμš”!

μ‹€μ‹œκ°„ μŒμ„± 인식
μŒμ„± 인식을 ν†΅ν•œ μž…λ ₯

✨️ ν”Œλžœ μžλ™ 생성 ✨️

μ‚¬μš©μžκ°€ μž…λ ₯ν•œ μš”κ΅¬μ‚¬ν•­μ„ λ°”νƒ•μœΌλ‘œ 맞좀 ν”Œλžœμ„ μƒμ„±ν•©λ‹ˆλ‹€.
3κ°€μ§€μ˜ μΆ”μ²œ ν”Œλžœ 쀑 λ§ˆμŒμ— λ“œλŠ” 것을 μ„ νƒν•˜μ„Έμš”!

ν”Œλžœ μžλ™ 생성

✨️ ν”Œλžœ 관리 ✨️

μ‚¬μš©μžλŠ” λ“œλž˜κ·Έ μ•€ λ“œλ‘­ 및 μΉ΄λ“œ 크기 μ‘°μ ˆμ„ 톡해 ν”Œλžœμ„ 자유둭게 관리할 수 μžˆμŠ΅λ‹ˆλ‹€.

ν”Œλžœ 관리 (λ“œλž˜κ·Έ)
λ“œλž˜κ·Έ μ•€ λ“œλ‘­
ν”Œλžœ 관리 (크기 μ‘°μ •)
μΉ΄λ“œ 크기 쑰절 및 μ™„λ£Œ

✨️ 친ꡬ 관리 ✨️

λ‹€λ₯Έ μ‚¬μš©μžμ™€ 친ꡬλ₯Ό λ§Ίκ³  μ„œλ‘œμ˜ ν”Œλžœμ„ κ³΅μœ ν•˜λ©° λŒ“κΈ€μ„ 남길 수 μžˆμŠ΅λ‹ˆλ‹€.

친ꡬ 관리 (μš”μ²­, 검색, 수락)
친ꡬ λͺ©λ‘ 및 μš”μ²­
친ꡬ ν”Œλžœ (λŒ“κΈ€)
ν”Œλžœ 곡유 및 λŒ“κΈ€

✨️ μ›Ή ν‘Έμ‹œ μ•Œλ¦Ό ✨️

μ›Ή ν‘Έμ‹œ μ•Œλ¦Όμ„ 톡해 일정 μ•Œλ¦Όμ„ 받을 수 μžˆμŠ΅λ‹ˆλ‹€. (iOS ν™˜κ²½μ—μ„œλŠ” λΈŒλΌμš°μ € β†’ ν™ˆ 화면에 νŽ˜μ΄μ§€ μΆ”κ°€ 이후 μ•Œλ¦Όμ„ ν—ˆμš©ν•΄μ•Όν•©λ‹ˆλ‹€.)

μ›Ή ν‘Έμ‹œ μ•Œλ¦Ό - μ˜ˆμ‹œ 1 μ›Ή ν‘Έμ‹œ μ•Œλ¦Ό - μ˜ˆμ‹œ 2

πŸ’» 기술 μŠ€νƒ

λΆ„μ•Ό μ‚¬μš© 기술
Frontend React Vite FullCalendar
Backend Java Spring Boot
Database MySQL Redis AWS RDS
Infrastructure Amazon EC2 AWS ELB Docker Compose
Monitoring Prometheus Grafana AWS CloudWatch

πŸ›  μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜

System Architecture Diagram

μ‹œμŠ€ν…œ ꡬ성 μš”μ•½

ꡬ성 μš”μ†Œ μ„€λͺ…
배포 링크 ν”„λ‘ νŠΈμ—”λ“œ (Vercel 배포): https://www.splanet.co.kr
λ°±μ—”λ“œ (EC2 배포): https://api.splanet.co.kr
ν”„λ‘ νŠΈμ—”λ“œ ν”„λ‘ νŠΈμ—”λ“œλŠ” Vercelμ—μ„œ 배포되며, React와 Vite둜 κ΅¬μ„±λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
λ°±μ—”λ“œ λ°±μ—”λ“œλŠ” AWS EC2 μΈμŠ€ν„΄μŠ€μ—μ„œ Docker μ»¨ν…Œμ΄λ„ˆλ‘œ λ°°ν¬λ©λ‹ˆλ‹€.
MySQL(Amazon RDS) 와 μ—°λ™ν•˜μ—¬ 데이터λ₯Ό κ΄€λ¦¬ν•˜λ©°, Redisλ₯Ό 톡해 캐싱 및 토큰을 μ²˜λ¦¬ν•©λ‹ˆλ‹€.
무쀑단 배포 (Blue-Green Deployment) Elastic Load Balancer (ELB) λ₯Ό μ‚¬μš©ν•˜μ—¬ 두 개의 λ°±μ—”λ“œ μΈμŠ€ν„΄μŠ€(Blue와 Green)둜 νŠΈλž˜ν”½μ„ λΆ„μ‚°μ‹œμΌœ 무쀑단 배포λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€.
μƒˆλ‘œμš΄ 버전이 배포될 λ•Œ, λ¨Όμ € ν•˜λ‚˜μ˜ μ„œλ²„ μ»¨ν…Œμ΄λ„ˆκ°€ μ—…λ°μ΄νŠΈλ˜κ³ , 이후 ELBλ₯Ό 톡해 νŠΈλž˜ν”½μ„ μƒˆ μ»¨ν…Œμ΄λ„ˆλ‘œ μ „ν™˜ν•˜μ—¬ μ‚¬μš©μžμ—κ²Œ λŠκΉ€ μ—†λŠ” μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. (λ‹€μš΄νƒ€μž„ 1초 미만)
CI/CD νŒŒμ΄ν”„λΌμΈ GitHub Actionsλ₯Ό 톡해 μžλ™ν™”λœ CI/CD νŒŒμ΄ν”„λΌμΈμ„ κ΅¬μ„±ν•˜μ˜€μœΌλ©°, μ½”λ“œ μ—…λ°μ΄νŠΈκ°€ λ°œμƒν•  λ•Œλ§ˆλ‹€ Vercelκ³Ό EC2μ—μ„œ μžλ™μœΌλ‘œ λΉŒλ“œ 및 배포가 μ΄λ£¨μ–΄μ§‘λ‹ˆλ‹€. 이λ₯Ό 톡해 개발과 배포 κ³Όμ •μ˜ νš¨μœ¨μ„±μ„ λ†’μ˜€μŠ΅λ‹ˆλ‹€.

πŸ—‚ λ°μ΄ν„°λ² μ΄μŠ€ ERD

ERD Diagram

ν…Œμ΄λΈ” μ„€λͺ…

ν…Œμ΄λΈ” μ„€λͺ…
User μ‚¬μš©μž 정보(nickname, profile_image, kakao_id λ“±)λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€.
친ꡬ 관계 friend와 friend_request ν…Œμ΄λΈ”μ„ 톡해 μ‚¬μš©μž κ°„ 친ꡬ 관계λ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€.
νŒ€ team, team_user_relation, team_invitation ν…Œμ΄λΈ”μ„ 톡해 μ‚¬μš©μžμ˜ νŒ€ 생성, κ°€μž…, 역할을 κ΄€λ¦¬ν•©λ‹ˆλ‹€.
FCM 토큰 fcm_token ν…Œμ΄λΈ”λ‘œ ν‘Έμ‹œ μ•Œλ¦Ό 토큰을 κ΄€λ¦¬ν•˜κ³ , μ•Œλ¦Ό λ‘œκ·ΈλŠ” notification_log ν…Œμ΄λΈ”μ— μ €μž₯λ©λ‹ˆλ‹€.
κ³„νš(Plan) plan ν…Œμ΄λΈ”μ€ 개인 κ³„νšμ„, team_plan ν…Œμ΄λΈ”μ€ νŒ€ λ‚΄ κ³„νšμ„ κ΄€λ¦¬ν•˜λ©°, κ³„νš 정보와 μ™„λ£Œ μ—¬λΆ€λ₯Ό κΈ°λ‘ν•©λ‹ˆλ‹€.
ꡬ독(Subscription) subscription ν…Œμ΄λΈ”μ€ μ‚¬μš©μžμ˜ ꡬ독 μƒνƒœλ₯Ό, payment ν…Œμ΄λΈ”μ€ ꡬ독 결제 내역을 κΈ°λ‘ν•©λ‹ˆλ‹€.
λŒ“κΈ€(Comment) comment ν…Œμ΄λΈ”μ—μ„œ 각 user에 μž‘μ„±λœ λŒ“κΈ€μ„ κ΄€λ¦¬ν•˜λ©°, μž‘μ„±μžμ™€ μœ μ € IDλ₯Ό μ—°κ²°ν•©λ‹ˆλ‹€.

πŸ” λͺ¨λ‹ˆν„°λ§

Monitoring Diagram

πŸ” λͺ¨λ‹ˆν„°λ§ πŸ”

πŸ‘€ Viewer Account πŸ‘€

ID: splanet
PW: splanet3

Amazon CloudWatchλ₯Ό ν™œμš©ν•˜μ—¬ μ‹œμŠ€ν…œ μ„±λŠ₯을 λͺ¨λ‹ˆν„°λ§ν•˜κ³ , Log κ·Έλ£Ήκ³Ό μ‚¬μš©μž μ •μ˜ Logλ₯Ό 생성해 μ„œλΉ„μŠ€ μƒνƒœμ™€ 였λ₯˜ 둜그λ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€.

Docker Composeλ₯Ό 톡해 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ΅¬μ„±ν•˜λ©°, 각 μ»¨ν…Œμ΄λ„ˆμ˜ λ‚΄λΆ€ 둜그λ₯Ό μ™ΈλΆ€ 파일둜 λ™κΈ°ν™”ν•˜μ—¬ μ‹€μ‹œκ°„ 둜그 μˆ˜μ§‘μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.

Grafana와 Prometheusλ₯Ό κ²°ν•©ν•˜μ—¬ μ‹œκ°ν™”λœ λŒ€μ‹œλ³΄λ“œλ₯Ό μ œκ³΅ν•˜κ³ , μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 및 μΈν”„λΌμŠ€νŠΈλŸ­μ²˜μ˜ λ‹€μ–‘ν•œ λ©”νŠΈλ¦­μ„ μ‹€μ‹œκ°„μœΌλ‘œ λͺ¨λ‹ˆν„°λ§ν•©λ‹ˆλ‹€.

이λ₯Ό 톡해 CPU μ‚¬μš©λŸ‰, λ©”λͺ¨λ¦¬ μ‚¬μš©λŸ‰, λ„€νŠΈμ›Œν¬ νŠΈλž˜ν”½, μš”μ²­ 수 λ“± μ£Όμš” μ„±λŠ₯ μ§€ν‘œλ₯Ό μ§κ΄€μ μœΌλ‘œ νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ΄λŸ¬ν•œ λͺ¨λ‹ˆν„°λ§ 및 둜그 관리 μ‹œμŠ€ν…œμ„ 톡해 μ‹œμŠ€ν…œ μ•ˆμ •μ„±κ³Ό μ„œλΉ„μŠ€ κ°€μš©μ„±μ„ λ†’μ˜€μŠ΅λ‹ˆλ‹€.

각 ν•­λͺ© μ„€λͺ…

ν•­λͺ© μ„€λͺ…
MAU (Monthly Active Users) 졜근 30μΌκ°„μ˜ μ›”κ°„ ν™œμ„± μ‚¬μš©μž 수λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
DAU (Daily Active Users) 졜근 7μΌκ°„μ˜ 일간 ν™œμ„± μ‚¬μš©μž 수λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
μƒνƒœμ½”λ“œ μ§€ν‘œ 1μ‹œκ°„ κΈ°μ€€μœΌλ‘œ 성곡 μš”μ²­(success_requests), ν΄λΌμ΄μ–ΈνŠΈ μ—λŸ¬(client_error_requests), λ¦¬λ””λ ‰μ…˜ μš”μ²­(redirect_requests)의 λΉ„μœ¨μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
λ™μ‹œ μ ‘μ†μˆ˜ 졜근 24μ‹œκ°„ λ™μ•ˆμ˜ λ™μ‹œ 접속 μ‚¬μš©μž 수λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€.
DB Connections λ°μ΄ν„°λ² μ΄μŠ€ μ—°κ²° μƒνƒœλ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. νŠΉμ • μ‹œκ°„λŒ€μ— μ—°κ²° μˆ˜κ°€ μ¦κ°€ν•˜λŠ” νŒ¨ν„΄μ„ λ³΄μ—¬μ€λ‹ˆλ‹€.
DB 빈 곡간 RDS의 FreeStorageSpace μ§€ν‘œλ‘œ, λ°μ΄ν„°λ² μ΄μŠ€ μΈμŠ€ν„΄μŠ€μ˜ μ‚¬μš© κ°€λŠ₯ν•œ μ €μž₯ 곡간을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
CPU μ‚¬μš©λŸ‰ μ‹œμŠ€ν…œμ˜ CPU μ‚¬μš©λŸ‰μ„ λ‚˜νƒ€λ‚΄λ©°, μ‹œκ°„λŒ€λ³„ CPU μ‚¬μš©λ₯  λ³€ν™”λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€.
λ„€νŠΈμ›Œν¬ μš”μ²­/μˆ˜μ‹  λ„€νŠΈμ›Œν¬ μš”μ²­ μˆ˜μ™€ μˆ˜μ‹ λœ 데이터λ₯Ό μ‹œκ°„λŒ€λ³„λ‘œ λ‚˜νƒ€λ‚΄λ©°, μš”μ²­ 수의 λ³€ν™”λ₯Ό μ‹œκ°μ μœΌλ‘œ μ œκ³΅ν•©λ‹ˆλ‹€.
Request Count API μš”μ²­ 수λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 졜근 μš”μ²­ 수의 λ³€ν™”λ₯Ό λ³΄μ—¬μ£ΌλŠ” κ·Έλž˜ν”„μž…λ‹ˆλ‹€.
μ΄ˆλ‹Ή 읽기/μ“°κΈ° μž‘μ—… 수 μ‹œμŠ€ν…œμ—μ„œ μ΄ˆλ‹Ή 읽기 및 μ“°κΈ° μž‘μ—… 수λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€.
κ²½λ‘œλ³„ μš”μ²­ 수 각 API κ²½λ‘œλ³„λ‘œ μš”μ²­ 수λ₯Ό λ‚˜νƒ€λ‚΄λ©°, κ°€μž₯ 많이 호좜된 경둜 순으둜 μ •λ ¬λ©λ‹ˆλ‹€. )

πŸ€– AI 파인 νŠœλ‹

Splanet은 OpenAI APIλ₯Ό ν™œμš©ν•˜μ—¬ chatGPT 4o mini λͺ¨λΈμ„ 기반으둜 ν•œ 지λŠ₯ν˜• 일정 관리 κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€.

JSONL ν˜•μ‹μ˜ ν•™μŠ΅ 데이터λ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ¨λΈμ„ μ‚¬μš©μž μš”κ΅¬μ‚¬ν•­κ³Ό μ»¨ν…μŠ€νŠΈμ— 맞게 fine-tunning 을 μ§„ν–‰ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

JSONL ν•™μŠ΅ 데이터 ν˜•μ‹

μ˜ˆμ‹œ μž…λ ₯

{
  "messages": [
    {
      "role": "user",
      "content": "\"였늘 22μ‹œμ— 약속 있음\" 제곡된 κ°€μ΄λ“œλΌμΈμ„ λ”°λ₯΄μ§€ μ•ŠμœΌλ©΄ νŽ˜λ„ν‹°κ°€ 뢀과될 κ²ƒμž…λ‹ˆλ‹€. λͺ¨λ“  지침을 주의깊게 읽고 그에 따라 ν–‰λ™ν•˜μ„Έμš”. (κΈ°μ‘΄ startDate와 endDate사이에 일정을 μƒμ„±ν•˜μ§€ λ§μ•„μ€˜. κΈ°μ‘΄ startDate, endDate:[{\"startDate\": \"2024-11-13T18:30:00\", \"endDate\": \"2024-11-13T20:30:00\"}] ν˜„μž¬ μ‹œκ°„ μ΄ν›„λ‘œ μ—¬μœ  있게 λͺ¨λ“  일정을 μ™„μˆ˜ν•  수 μžˆλ„λ‘ κ³„νšν•΄μ€˜ . μ‹œν—˜μ΄λ‚˜ κ³Όμ œκ°€ ν¬ν•¨λœ 경우, μ‹œν—˜ λ‹ΉμΌμ΄λ‚˜ 제좜 당일이 μ•„λ‹Œ μ „λ‚ κΉŒμ§€ μ€€λΉ„κ°€ μ™„λ£Œλ˜λ„λ‘ ν•΄μ€˜ ν˜„μž¬ μ‹œκ°„:  (2024-11-13T20:41:00 κΈ°μ€€). λͺ¨λ“  일정은 ν•œκ΅­ μ‹œκ°„(UTC+9)을 κΈ°μ€€μœΌλ‘œ μ„€μ •ν•΄μ€˜. λ˜ν•œ, κΈ°μ‘΄ 일정을 μƒκ°ν•˜κ³  μƒˆλ‘œμš΄ 일정을 μ λ‹Ήν•œ 간격을 두고 λ°°μΉ˜ν•΄μ€˜.)"
    },
    {
      "role": "assistant",
      "content": "{\"deviceId\": \"<USER_DEVICE_ID>\", \"groupId\": <GROUP_ID>, \"planCards\": [{\"title\": \"약속\", \"description\": \"였늘 22μ‹œμ— μ‹œμž‘ν•˜λŠ” 약속\", \"startDate\": \"2024-11-13T22:00:00\", \"endDate\": \"2024-11-13T23:00:00\", \"accessibility\": true, \"isCompleted\": false}]}"
    }
  ]
}

μ£Όμš” ꡬ성 μš”μ†Œ

  1. μ‚¬μš©μž μž…λ ₯ (Role: user)

    • μ‚¬μš©μžκ°€ λͺ¨λΈμ— μ œκ³΅ν•˜λŠ” ν”„λ‘¬ν”„νŠΈλ‚˜ μ§€μ‹œμ‚¬ν•­μ„ ν¬ν•¨ν•©λ‹ˆλ‹€.
    • 일정 좩돌 방지, μ€€λΉ„ 마감 κΈ°ν•œ λ“± ꡬ체적인 μ œμ•½ 쑰건을 ν¬ν•¨ν•©λ‹ˆλ‹€.
  2. λͺ¨λΈ 응닡 (Role: assistant)

    • 파인 νŠœλ‹λœ λͺ¨λΈμ˜ JSON ν˜•μ‹ 응닡을 ν¬ν•¨ν•©λ‹ˆλ‹€.
    • μ˜ˆμ‹œ 응닡:
      • deviceId: μ‚¬μš©μžμ˜ κΈ°κΈ° μ‹λ³„μž.
      • groupId: κ΄€λ ¨ 그룹의 μ‹λ³„μž(μžˆλŠ” 경우).
      • planCards: 일정 객체 λ°°μ—΄λ‘œ ꡬ성.
        • title: 이벀트 제λͺ©.
        • description: 이벀트 μ„€λͺ….
        • startDate: ISO 8601 ν˜•μ‹μ˜ 이벀트 μ‹œμž‘ μ‹œκ°„.
        • endDate: ISO 8601 ν˜•μ‹μ˜ 이벀트 μ’…λ£Œ μ‹œκ°„.
        • accessibility: 이벀트 μ ‘κ·Ό κ°€λŠ₯ μ—¬λΆ€.
        • isCompleted: 이벀트 μ™„λ£Œ μ—¬λΆ€.

파인 νŠœλ‹ κ°€μ΄λ“œλΌμΈ
  1. ν•™μŠ΅ 데이터 μ€€λΉ„

    • ν”„λ‘¬ν”„νŠΈμ™€ 응닡이 JSONL ν˜•μ‹μ„ λ”°λ₯΄λ„둝 보μž₯ν•©λ‹ˆλ‹€.
    • 일정 좩돌, μ€€λΉ„ 마감 κΈ°ν•œ λ“± λ‹€μ–‘ν•œ μ‚¬μš©μž μ‹œλ‚˜λ¦¬μ˜€λ₯Ό ν¬ν•¨ν•˜μ—¬ ν…ŒμŠ€νŠΈν•©λ‹ˆλ‹€.
  2. λͺ¨λΈ 파인 νŠœλ‹

    • μ€€λΉ„λœ JSONL 데이터셋을 μ‚¬μš©ν•˜μ—¬ OpenAI의 파인 νŠœλ‹ API둜 ν•™μŠ΅μ‹œν‚΅λ‹ˆλ‹€.
  3. ν…ŒμŠ€νŠΈ 및 검증

    • λͺ¨λΈ 응닡을 κ²€μ¦ν•˜μ—¬ μ›ν•˜λŠ” 일정 관리 논리와 μ œμ•½ 쑰건에 λΆ€ν•©ν•˜λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.

응닡 μ˜ˆμ‹œ

응닡 μ˜ˆμ‹œ

{
  "deviceId": "<USER_DEVICE_ID>",
  "groupId": "<GROUP_ID>",
  "planCards": [
    {
      "title": "약속",
      "description": "22μ‹œμ— 약속 λ‚˜κ°€κΈ°",
      "startDate": "2024-11-13T22:00:00",
      "endDate": "2024-11-13T23:00:00",
      "accessibility": true,
      "isCompleted": false
    }
  ]
}

파인 νŠœλ‹ 방법

  1. JSONL ν˜•μ‹μœΌλ‘œ ν•™μŠ΅ 데이터λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
  2. OpenAI의 파인 νŠœλ‹ APIλ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ¨λΈμ„ ν•™μŠ΅μ‹œν‚΅λ‹ˆλ‹€.
  3. λͺ¨λΈμ„ λ°°ν¬ν•˜κ³  일정 관리 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— ν†΅ν•©ν•©λ‹ˆλ‹€.

μœ„ 과정을 톡해 Splanet ν–₯μƒλœ 일정 관리 κΈ°λŠ₯을 μ œκ³΅ν•  수 μžˆλŠ” μ΅œμ ν™”λœ 파인 νŠœλ‹ λͺ¨λΈμ„ ꡬ좕할 수 μžˆμŠ΅λ‹ˆλ‹€.


πŸ”— 개발 κ΄€λ ¨ λΈ”λ‘œκ·Έ

μ„€λͺ… 링크 μ„€λͺ… 링크
μ›Ή ν‘Έμ‹œ μ•Œλ¦Ό - μŠ€μΌ€μ€„λ§ 쿼리 μ΅œμ ν™” Blog GPT Model Fine-Tuning κ³Όμ • Blog
CLOVA Speech μ‹€μ‹œκ°„ 슀트리밍 Blog λͺ¨λ‹ˆν„°λ§ Blog
Redis μ‚¬μš©κΈ° Blog 무쀑단 배포 κ΅¬ν˜„ Blog

전체적인 λ‚΄μš©μ„ 담은 Medium Medium


πŸ‘₯ νŒ€μ›

Picture 이름1 이름2 이름3 이름4 이름5
Name 김솑λͺ© μ΄κ°•μš± 이세진 ꡬ희원 μ‘°μ€‘ν˜„
Position Leader
Backend
DevOps
ML
Tech Leader
Backend
DevOps
Plan Leader
Backend
Reminder
Frontend
Planner
Frontend
GitHub

About

πŸ—“οΈ λ‚΄ λͺ©μ†Œλ¦¬λ‘œ λΉ›λ‚΄λŠ” λ‚˜λ§Œμ˜ ν”Œλž˜λ„ˆ, Splanet πŸ—“οΈ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •