Skip to content

DevOpsSociety/FlowPlan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

96 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FlowPlan - AI 기반 ν”„λ‘œμ νŠΈ 일정 관리 ν”Œλž«νΌ

Google Gemini AIλ₯Ό ν™œμš©ν•œ WBS(Work Breakdown Structure) μžλ™ 생성 및 ν”„λ‘œμ νŠΈ 관리 μ‹œμŠ€ν…œ

Docker Python Spring Boot FastAPI

πŸ“‹ ν”„λ‘œμ νŠΈ κ°œμš”

FlowPlan은 AIλ₯Ό ν™œμš©ν•˜μ—¬ ν”„λ‘œμ νŠΈ 일정을 μžλ™μœΌλ‘œ μƒμ„±ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” ν”Œλž«νΌμž…λ‹ˆλ‹€. λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜λ‘œ μ„€κ³„λ˜μ–΄ AI μ„œλΉ„μŠ€μ™€ 메인 λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ„ λΆ„λ¦¬ν•˜μ—¬ ν™•μž₯μ„±κ³Ό μœ μ§€λ³΄μˆ˜μ„±μ„ ν™•λ³΄ν–ˆμŠ΅λ‹ˆλ‹€.

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

  • πŸ€– AI 기반 WBS μžλ™ 생성: ν”„λ‘œμ νŠΈ μ •λ³΄λ§ŒμœΌλ‘œ μž‘μ—… λΆ„ν•΄ ꡬ쑰 μžλ™ 생성
  • πŸ“ λ§ˆν¬λ‹€μš΄ λͺ…μ„Έμ„œ: AIκ°€ μƒμ„±ν•œ λͺ…μ„Έμ„œλ₯Ό μ‚¬μš©μžκ°€ νŽΈμ§‘ ν›„ μ •ν™•ν•œ WBS 생성
  • πŸ‘₯ μ‚¬μš©μž 인증/인가: JWT 기반 λ³΄μ•ˆ 인증 μ‹œμŠ€ν…œ
  • πŸ“Š ν”„λ‘œμ νŠΈ/μž‘μ—… 관리: CRUD 및 μ§„ν–‰λ₯  좔적
  • 🐳 Docker μ»¨ν…Œμ΄λ„ˆν™”: κ°„νŽΈν•œ 배포 및 ν™•μž₯

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

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   ν΄λΌμ΄μ–ΈνŠΈ    β”‚ (React/Vue - μ˜ˆμ •)
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚ HTTP/HTTPS
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ FlowPlanServer  β”‚ (Spring Boot)
β”‚   - 인증/인가    β”‚ :8080
β”‚   - ν”„λ‘œμ νŠΈ 관리│
β”‚   - DB μ˜μ†μ„±    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚ HTTP (λ‚΄λΆ€ λ„€νŠΈμ›Œν¬)
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  FlowPlanAI     β”‚ (FastAPI)
β”‚   - WBS 생성     β”‚ :8000
β”‚   - Gemini AI    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β”‚
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  PostgreSQL DB  β”‚ :5432
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

μ„œλΉ„μŠ€ ꡬ성

μ„œλΉ„μŠ€ μ—­ν•  기술 μŠ€νƒ 포트
FlowPlanAI AI 기반 WBS 생성 Python, FastAPI, Gemini 8000
FlowPlanServer 인증/인가, 메인 둜직 Java/Kotlin, Spring Boot 8080
PostgreSQL λ°μ΄ν„°λ² μ΄μŠ€ PostgreSQL 15 5432

πŸš€ λΉ λ₯Έ μ‹œμž‘

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

1. ν”„λ‘œμ νŠΈ 클둠 및 μŠ€ν”„λ§ μ„œλ²„ μ„€μ •

# FlowPlan 메인 ν”„λ‘œμ νŠΈ (ν˜„μž¬ μœ„μΉ˜)
cd C:\FlowPlan

# μŠ€ν”„λ§ μ„œλ²„ 클둠 (Git μ£Όμ†ŒλŠ” μ‹€μ œ λ ˆν¬μ§€ν† λ¦¬λ‘œ λ³€κ²½)
git clone <FlowPlanServer_Git_URL> FlowPlanServer

2. ν™˜κ²½ λ³€μˆ˜ μ„€μ •

# .env.example을 λ³΅μ‚¬ν•˜μ—¬ .env 생성
copy .env.example .env

# .env 파일 νŽΈμ§‘
notepad .env

ν•„μˆ˜ μ„€μ •:

GEMINI_API_KEY=your_actual_gemini_api_key
POSTGRES_PASSWORD=secure_production_password

3. Docker Compose둜 전체 μ„œλΉ„μŠ€ μ‹€ν–‰

# AI μ„œλΉ„μŠ€λ§Œ μ‹€ν–‰ (ν˜„μž¬)
docker-compose up -d flowplan-ai

# μŠ€ν”„λ§ μ„œλ²„ μΆ”κ°€ ν›„ 전체 μ‹€ν–‰
docker-compose up -d

# 둜그 확인
docker-compose logs -f

4. API λ¬Έμ„œ 확인

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

FlowPlan/
β”œβ”€β”€ .github/
β”‚   └── copilot-instructions.md    # GitHub Copilot ν”„λ‘œμ νŠΈ μ§€μΉ¨
β”œβ”€β”€ FlowPlanAI/                    # AI λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€
β”‚   β”œβ”€β”€ Dockerfile
β”‚   β”œβ”€β”€ requirements.txt
β”‚   β”œβ”€β”€ .github/
β”‚   β”‚   └── copilot-instructions.md
β”‚   └── app/
β”‚       β”œβ”€β”€ main.py
β”‚       β”œβ”€β”€ api/routes/
β”‚       β”œβ”€β”€ services/              # Gemini 톡합, WBS 생성
β”‚       β”œβ”€β”€ models/                # Pydantic λͺ¨λΈ
β”‚       └── utils/
β”œβ”€β”€ FlowPlanServer/                # μŠ€ν”„λ§ μ„œλ²„ (Gitμ—μ„œ 클둠)
β”‚   β”œβ”€β”€ Dockerfile
β”‚   β”œβ”€β”€ src/main/
β”‚   β”‚   β”œβ”€β”€ java/
β”‚   β”‚   └── resources/
β”‚   └── .github/
β”‚       └── copilot-instructions.md
β”œβ”€β”€ docker-compose.yml             # λ©€ν‹° μ„œλΉ„μŠ€ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜
β”œβ”€β”€ .env.example                   # ν™˜κ²½ λ³€μˆ˜ ν…œν”Œλ¦Ώ
β”œβ”€β”€ .gitignore
└── README.md

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

AI μ„œλΉ„μŠ€ (FlowPlanAI) 개발

cd FlowPlanAI

# 가상 ν™˜κ²½ 생성
python -m venv venv
venv\Scripts\activate

# μ˜μ‘΄μ„± μ„€μΉ˜
pip install -r requirements.txt

# 둜컬 μ‹€ν–‰
uvicorn app.main:app --reload --port 8000

μŠ€ν”„λ§ μ„œλ²„ (FlowPlanServer) 개발

cd FlowPlanServer

# Gradle λΉŒλ“œ
./gradlew build

# 둜컬 μ‹€ν–‰
./gradlew bootRun

Docker둜 κ°œλ³„ μ„œλΉ„μŠ€ μž¬μ‹œμž‘

# AI μ„œλΉ„μŠ€λ§Œ μž¬λΉŒλ“œ 및 μž¬μ‹œμž‘
docker-compose up -d --build flowplan-ai

# μŠ€ν”„λ§ μ„œλ²„λ§Œ μž¬μ‹œμž‘
docker-compose restart flowplan-server

πŸ“‘ API μ‚¬μš© μ˜ˆμ‹œ

WBS μžλ™ 생성 (AI μ„œλΉ„μŠ€ 직접 호좜 - ν…ŒμŠ€νŠΈμš©)

curl -X POST http://localhost:8000/api/v1/wbs/generate \
  -H "Content-Type: application/json" \
  -d '{
    "project_name": "μ‹ κ·œ μ‡Όν•‘λͺ° 개발",
    "project_type": "μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜",
    "team_size": 5,
    "expected_duration_days": 90
  }'

WBS 생성 (μŠ€ν”„λ§ μ„œλ²„ 경유 - ν”„λ‘œλ•μ…˜)

# JWT 토큰 λ°œκΈ‰ ν›„
curl -X POST http://localhost:8080/api/projects/1/wbs \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "project_name": "μ‹ κ·œ μ‡Όν•‘λͺ° 개발",
    "project_type": "μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜",
    "team_size": 5,
    "expected_duration_days": 90
  }'

πŸ§ͺ ν…ŒμŠ€νŠΈ

AI μ„œλΉ„μŠ€ ν…ŒμŠ€νŠΈ

cd FlowPlanAI
pytest tests/

μŠ€ν”„λ§ μ„œλ²„ ν…ŒμŠ€νŠΈ

cd FlowPlanServer
./gradlew test

πŸ“¦ 배포

ν”„λ‘œλ•μ…˜ 배포 체크리슀트

  • .env νŒŒμΌμ— μ‹€μ œ API ν‚€ 및 λΉ„λ°€λ²ˆν˜Έ μ„€μ •
  • docker-compose.ymlμ—μ„œ λΆˆν•„μš”ν•œ 포트 λ§€ν•‘ 제거
  • CORS 섀정을 νŠΉμ • λ„λ©”μΈμœΌλ‘œ μ œν•œ
  • PostgreSQL λ³Όλ₯¨ λ°±μ—… μ „λž΅ 수립
  • 둜그 μˆ˜μ§‘ 및 λͺ¨λ‹ˆν„°λ§ μ„€μ •
  • HTTPS/SSL μΈμ¦μ„œ 적용

Docker Hub에 이미지 ν‘Έμ‹œ

# AI μ„œλΉ„μŠ€
docker build -t username/flowplan-ai:1.0 ./FlowPlanAI
docker push username/flowplan-ai:1.0

# μŠ€ν”„λ§ μ„œλ²„
docker build -t username/flowplan-server:1.0 ./FlowPlanServer
docker push username/flowplan-server:1.0

🀝 κΈ°μ—¬ κ°€μ΄λ“œ

Git 브랜치 μ „λž΅

  • main: ν”„λ‘œλ•μ…˜ 배포 브랜치
  • develop: 개발 톡합 브랜치
  • feature/*: μƒˆ κΈ°λŠ₯ 개발
  • hotfix/*: κΈ΄κΈ‰ μˆ˜μ •

컀밋 λ©”μ‹œμ§€ κ·œμΉ™

[μ„œλΉ„μŠ€λͺ…] νƒ€μž…: 제λͺ©

상세 μ„€λͺ…

μ˜ˆμ‹œ:
[AI] feat: Gemini ν”„λ‘¬ν”„νŠΈ μ΅œμ ν™”λ‘œ WBS 정확도 20% ν–₯상
[Server] fix: JWT 토큰 κ°±μ‹  둜직 버그 μˆ˜μ •

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

MIT License (μ˜ˆμ •)

πŸ“ž 문의

  • 이슈 등둝: [GitHub Issues](이슈 URL)
  • Wiki: [ν”„λ‘œμ νŠΈ Wiki](μœ„ν‚€ URL)

개발 팁: 각 μ„œλΉ„μŠ€ λ””λ ‰ν† λ¦¬μ˜ .github/copilot-instructions.md νŒŒμΌμ„ ν™•μΈν•˜μ—¬ GitHub Copilot이 ν”„λ‘œμ νŠΈ κ·œμΉ™μ— λ§žλŠ” μ½”λ“œλ₯Ό μƒμ„±ν•˜λ„λ‘ μ„€μ •λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages