Skip to content

ibm-ai-hackathon/five-today-schedule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

168 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

5늘의 일정

watsonx.ai 기반 λŒ€ν•™μƒ λ§žμΆ€ν˜• AI ν•™μ—… μŠ€μΌ€μ€„ λ„μš°λ―Έ

πŸ“Œ ν”„λ‘œμ νŠΈ μ†Œκ°œ

λŒ€ν•™μƒμ΄ μžμ—°μ–΄λ‘œ μž…λ ₯ν•œ ν•  일(과제, μ‹œν—˜, νŒ€ν”Œ, λŒ€μ™Έν™œλ™ λ“±)을 AIκ°€ μžλ™μœΌλ‘œ 뢄석·뢄λ₯˜ν•˜κ³ , μ€‘μš”λ„μ™€ λ§ˆκ°κΈ°ν•œμ„ κ³ λ €ν•΄ μš°μ„ μˆœμœ„λ₯Ό μΆ”μ²œν•˜λŠ” 슀마트 ν•™μŠ΅ λ„μš°λ―Έμž…λ‹ˆλ‹€.

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

πŸ€– AI 챗봇 (watsonx.ai Llama 3.3 70B)

  • μžμ—°μ–΄ 일정 μΆ”κ°€: "λ‹€μŒ μ£Ό μˆ˜μš”μΌκΉŒμ§€ 자료ꡬ쑰 과제" β†’ AIκ°€ μžλ™ νŒŒμ‹±ν•˜μ—¬ 일정 등둝
  • 닀쀑 일정 처리: μ—¬λŸ¬ 일정을 ν•œ λ²ˆμ— μΈμ‹ν•˜κ³  κ°œλ³„ 확인/μ·¨μ†Œ κ°€λŠ₯
  • μ•Œλ¦Ό μ˜ˆμ•½: "회의 10λΆ„ 전에 μ•Œλ¦Ό μ˜ˆμ•½ν•΄μ€˜" β†’ 일정 선택 ν›„ ν‘Έμ‹œ μ•Œλ¦Ό μžλ™ μ˜ˆμ•½
  • μš°μ„ μˆœμœ„ μΆ”μ²œ: "μš°μ„ μˆœμœ„ 높은 일정 μΆ”μ²œν•΄μ€˜" β†’ μ€‘μš” 일정 λͺ©λ‘ ν‘œμ‹œ
  • 일정 검색/쑰회: "이번 μ£Ό 일정 μ•Œλ €μ€˜", "였늘 ν•  일 뭐야?"

πŸ“· 이미지 인식 (Vision AI)

  • μ‹œκ°„ν‘œ 인식: "μ‹œκ°„ν‘œ 사진에 μžˆλŠ” κ°•μ˜ μΆ”κ°€ν•΄μ€˜" β†’ λŒ€ν•™ μ‹œκ°„ν‘œ μ΄λ―Έμ§€μ—μ„œ κ°•μ˜ μžλ™ μΆ”μΆœ
  • μ‹œν—˜/과제 μΌμ •ν‘œ μžλ™ μΆ”μΆœ: μ΄λ―Έμ§€μ—μ„œ 일정을 μΈμ‹ν•˜μ—¬ μžλ™ 등둝
  • 곡λͺ¨μ „ ν¬μŠ€ν„° 뢄석: λŒ€νšŒ 일정, λ§ˆκ°κΈ°ν•œ, μ„ΈλΆ€ 일정(Sub-task) μžλ™ 생성

πŸ“… μΊ˜λ¦°λ” & μ‹œκ°„ν‘œ

  • μ›”κ°„ μΊ˜λ¦°λ”: 전체 일정 ν•œλˆˆμ— 확인, λ‚ μ§œλ³„ 일정 ν‘œμ‹œ
  • μ£Όκ°„ μ‹œκ°„ν‘œ: κ°•μ˜ μ‹œκ°„ν‘œ 관리, λ“œλž˜κ·Έ μ•€ λ“œλ‘­μœΌλ‘œ μ‹œκ°„ μˆ˜μ •
  • Google Calendar 연동: μ™ΈλΆ€ μΊ˜λ¦°λ”μ™€ 동기화 (μ„€μ •μ—μ„œ μ—°κ²°)

πŸ”” 슀마트 μ•Œλ¦Ό μ‹œμŠ€ν…œ

  • λ°±μ—”λ“œ μ•Œλ¦Ό API: μ•Œλ¦Ό μ˜ˆμ•½, 쑰회, 확인 처리 (1λΆ„ 폴링)
  • λΈŒλΌμš°μ € ν‘Έμ‹œ μ•Œλ¦Ό: Web Notification API ν™œμš©
  • 마감 μž„λ°• μ•Œλ¦Ό: D-day 기반 μžλ™ λ¦¬λ§ˆμΈλ”
  • AI 데일리 λΈŒλ¦¬ν•‘: 맀일 μ„€μ •λœ μ‹œκ°„μ— 였늘 일정 μš”μ•½ μ•Œλ¦Ό
  • ν† μŠ€ μŠ€νƒ€μΌ μ•Œλ¦Ό νŽ˜μ΄μ§€: κΉ”λ”ν•œ μ•Œλ¦Ό λͺ©λ‘ UI

πŸ“Š μš°μ„ μˆœμœ„ 관리

  • AI 기반 μš°μ„ μˆœμœ„ μΆ”μ²œ: λ§ˆκ°κΈ°ν•œ, μ†Œμš” μ‹œκ°„, μ€‘μš”λ„ 뢄석
  • μΉ΄ν…Œκ³ λ¦¬ λΆ„λ₯˜: μˆ˜μ—…, 과제, μ‹œν—˜, νŒ€ν”Œ, λŒ€μ™Έν™œλ™ μžλ™ λΆ„λ₯˜
  • Sub-task 관리: 큰 일정을 μ„ΈλΆ€ μž‘μ—…μœΌλ‘œ λΆ„ν• 

πŸ›  기술 μŠ€νƒ

Frontend

  • React 18.2: UI 라이브러리
  • Vite 5.0: λΉŒλ“œ 도ꡬ 및 개발 μ„œλ²„
  • Axios: HTTP ν΄λΌμ΄μ–ΈνŠΈ
  • React Router: ν΄λΌμ΄μ–ΈνŠΈ λΌμš°νŒ…
  • Web Notification API: λΈŒλΌμš°μ € ν‘Έμ‹œ μ•Œλ¦Ό

Backend

  • FastAPI: Python μ›Ή ν”„λ ˆμž„μ›Œν¬
  • MySQL 8.0: κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€
  • Alembic: λ°μ΄ν„°λ² μ΄μŠ€ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜
  • SQLAlchemy: ORM
  • Pydantic: 데이터 검증

AI / Cloud

  • IBM watsonx.ai: Llama 3.3 70B λͺ¨λΈ (μžμ—°μ–΄ 처리, 일정 뢄석)
  • IBM Cloud: ν΄λΌμš°λ“œ 인프라
  • Google Calendar API: μΊ˜λ¦°λ” 연동

DevOps

  • Docker & Docker Compose: μ»¨ν…Œμ΄λ„ˆν™” (frontend, backend, db)
  • GitHub: 버전 관리

πŸ‘₯ νŒ€ ꡬ성 및 κΈ°μ—¬

이름 λ‹΄λ‹Ή μ˜μ—­ μ£Όμš” κΈ°μ—¬
손민주 Project Manager & Frontend Developer ν”„λ‘ νŠΈμ—”λ“œ 전체 κΈ°λŠ₯ κ΅¬ν˜„(일정/ν•  일, μΊ˜λ¦°λ”, μ‹œκ°„ν‘œ, AI 챗봇, μ•Œλ¦Ό, μ„€μ •), UX/UI λ””μžμΈ, νšŒμ˜λ‘Β·μΌμ • 관리, λ°œν‘œμžλ£Œ μ œμž‘
μ²œμ§€μš° Prompt Engineer & Domain Expert λ°œν‘œ μ§„ν–‰
κΉ€ν˜œμ˜ Frontend Developer UX/UI λ””μžμΈ
μ‘°ν•˜μ˜ Backend Developer & AI Engineer AI 전체 κΈ°λŠ₯ κ΅¬ν˜„(이미지 뢄석, AI Assistant μ±„νŒ…, μžμ—°μ–΄ μž…λ ₯ 뢄석), sub-task 생성 κΈ°λŠ₯ κ΅¬ν˜„, ν”„λ‘¬ν”„νŠΈ 섀계
κΉ€μ§„μ˜ Backend Developer & AI Engineer DBΒ·API 섀계, 일정·할 일 κΈ°λŠ₯ κ΅¬ν˜„

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

Docker둜 μ‹€ν–‰ (ꢌμž₯)

# ν”„λ‘œμ νŠΈ 클둠
git clone https://github.com/ibm-ai-hackathon/five-today-schedule.git
cd five-today-schedule

# .env 파일 μ„€μ • (μ•„λž˜ ν™˜κ²½ λ³€μˆ˜ μ°Έκ³ )

# Docker Compose둜 μ‹€ν–‰
docker-compose up -d --build

# 접속
# Frontend: http://localhost:5173
# Backend API: http://localhost:8000
# API λ¬Έμ„œ: http://localhost:8000/docs

ν™˜κ²½ λ³€μˆ˜ (.env)

# Database
DATABASE_URL=mysql+pymysql://root:1869@db:3306/five_today_schedule
MYSQL_ROOT_PASSWORD=1869
MYSQL_DATABASE=five_today_schedule

# IBM watsonx.ai
WATSONX_API_KEY=your_api_key
WATSONX_URL=https://us-south.ml.cloud.ibm.com/
WATSONX_PROJECT_ID=your_project_id
WATSONX_MODEL_ID=meta-llama/llama-3-3-70b-instruct

# Frontend
VITE_API_BASE_URL=http://localhost:8000/api

κ°œλ³„ μ‹€ν–‰

Frontend

cd frontend
npm install
npm run dev
# http://localhost:5173 μ—μ„œ 확인

Backend

cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload
# http://localhost:8000 μ—μ„œ 확인

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

five-today-schedule/
β”œβ”€β”€ frontend/           # React ν”„λ‘ νŠΈμ—”λ“œ
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/ # μž¬μ‚¬μš© μ»΄ν¬λ„ŒνŠΈ
β”‚   β”‚   β”œβ”€β”€ pages/      # νŽ˜μ΄μ§€ μ»΄ν¬λ„ŒνŠΈ
β”‚   β”‚   β”œβ”€β”€ hooks/      # μ»€μŠ€ν…€ ν›…
β”‚   β”‚   β”œβ”€β”€ services/   # API μ„œλΉ„μŠ€
β”‚   β”‚   └── utils/      # μœ ν‹Έλ¦¬ν‹° ν•¨μˆ˜
β”‚   └── ...
β”œβ”€β”€ backend/            # FastAPI λ°±μ—”λ“œ
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ api/        # API λΌμš°ν„°
β”‚   β”‚   β”œβ”€β”€ models/     # λ°μ΄ν„°λ² μ΄μŠ€ λͺ¨λΈ
β”‚   β”‚   β”œβ”€β”€ schemas/    # Pydantic μŠ€ν‚€λ§ˆ
β”‚   β”‚   └── db/         # λ°μ΄ν„°λ² μ΄μŠ€ μ„€μ •
β”‚   └── ...
β”œβ”€β”€ docs/               # λ¬Έμ„œ
└── docker-compose.yml  # Docker μ„€μ •

πŸ“ 컀밋 μ»¨λ²€μ…˜

νƒ€μž… μ„€λͺ…
feat μƒˆλ‘œμš΄ κΈ°λŠ₯ μΆ”κ°€
fix 버그 μˆ˜μ •
docs λ¬Έμ„œ μˆ˜μ •
style μ½”λ“œ ν¬λ§·νŒ…
refactor μ½”λ“œ λ¦¬νŒ©ν† λ§
test ν…ŒμŠ€νŠΈ μ½”λ“œ
chore λΉŒλ“œ, νŒ¨ν‚€μ§€ μ„€μ •

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

이 ν”„λ‘œμ νŠΈλŠ” MIT λΌμ΄μ„ μŠ€λ₯Ό λ”°λ¦…λ‹ˆλ‹€.

About

[πŸ†μ΅œμš°μˆ˜μƒ] λ§žμΆ€ν˜• AI ν•™μ—… μŠ€μΌ€μ€„ λ„μš°λ―Έ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors