Files
conai/backend/pyproject.toml
sinmb79 2a4950d8a0 feat: CONAI Phase 1 MVP 초기 구현
소형 건설업체(100억 미만)를 위한 AI 기반 토목공사 통합관리 플랫폼

Backend (FastAPI):
- SQLAlchemy 모델 13개 (users, projects, wbs, tasks, daily_reports, reports, inspections, quality, weather, permits, rag, settings)
- API 라우터 11개 (auth, projects, tasks, daily_reports, reports, inspections, weather, rag, kakao, permits, settings)
- Services: Claude AI 래퍼, CPM Gantt 계산, 기상청 API, RAG(pgvector), 카카오 Skill API
- Alembic 마이그레이션 (pgvector 포함)
- pytest 테스트 (CPM, 날씨 경보)

Frontend (Next.js 15):
- 11개 페이지 (대시보드, 프로젝트, Gantt, 일보, 검측, 품질, 날씨, 인허가, RAG, 설정)
- TanStack Query + Zustand + Tailwind CSS

인프라:
- Docker Compose (PostgreSQL pgvector + backend + frontend)
- 한국어 README 및 설치 가이드

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 20:06:36 +09:00

56 lines
1.1 KiB
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "conai-backend"
version = "1.0.0"
description = "CONAI - Construction AI Platform Backend"
requires-python = ">=3.11"
dependencies = [
# Web framework
"fastapi>=0.115.0",
"uvicorn[standard]>=0.32.0",
# Database
"sqlalchemy>=2.0.36",
"alembic>=1.14.0",
"asyncpg>=0.30.0",
"psycopg2-binary>=2.9.10",
# Supabase
"supabase>=2.10.0",
# Auth
"python-jose[cryptography]>=3.3.0",
"passlib[bcrypt]>=1.7.4",
"python-multipart>=0.0.20",
# AI
"anthropic>=0.40.0",
# Config
"pydantic-settings>=2.6.0",
"pydantic>=2.10.0",
# HTTP
"httpx>=0.28.0",
# PDF
"weasyprint>=64.0",
"jinja2>=3.1.4",
# Excel
"openpyxl>=3.1.5",
# Scheduling
"apscheduler>=3.10.4",
# Storage
"boto3>=1.35.0",
# Utilities
"python-dateutil>=2.9.0",
"pytz>=2024.2",
]
[project.optional-dependencies]
dev = [
"pytest>=8.3.0",
"pytest-asyncio>=0.24.0",
"httpx>=0.28.0",
"pytest-cov>=6.0.0",
]
[tool.hatch.build.targets.wheel]
packages = ["app"]