Files
weeklyreport/README.md
2026-01-05 02:10:49 +09:00

159 lines
4.3 KiB
Markdown

# 📋 주간업무보고 시스템 (Weekly Report)
SI 프로젝트 팀을 위한 주간업무보고 작성 및 취합 시스템입니다.
## ✨ 주요 기능
### 📝 주간보고 작성
- 프로젝트별 금주 실적 / 차주 계획 작성
- Task 단위로 작업 내용, 시간, 완료 여부 관리
- 이슈/리스크, 휴가일정, 기타사항 입력
- 작성 → 제출 → 취합 워크플로우
### 🤖 PMO AI 리뷰
- OpenAI 기반 주간보고 자동 피드백
- 실적/계획의 구체성 검토
- 일정 명확성 및 시간 산정 적절성 평가
- 구체적인 작성 예시와 개선 가이드 제공
### 📊 취합 보고서
- 주차별 전체 보고서 취합
- 프로젝트별 실적/계획 AI 요약 (OpenAI)
- 인원별 투입 시간 현황
- 원문 보기 기능
### 👥 직원/프로젝트 관리
- 직원 등록 및 관리
- 프로젝트 생성 및 상태 관리
- 프로젝트별 투입 인력 현황
## 🛠 기술 스택
| 구분 | 기술 |
|------|------|
| Frontend | Vue 3, Nuxt 3 |
| Backend | Nitro (Nuxt Server) |
| Database | PostgreSQL |
| AI | OpenAI GPT-4o-mini |
| UI | Bootstrap 5, Bootstrap Icons |
## 📁 프로젝트 구조
```
weeklyreport/
├── frontend/ # 프론트엔드 페이지
│ ├── components/ # 공통 컴포넌트
│ ├── composables/ # Vue Composables
│ ├── report/ # 주간보고 관련
│ │ ├── weekly/ # 개인 주간보고
│ │ └── summary/ # 취합 보고서
│ ├── employee/ # 직원 관리
│ ├── project/ # 프로젝트 관리
│ └── admin/ # 관리자 기능
├── backend/
│ ├── api/ # API 엔드포인트
│ │ ├── auth/ # 인증
│ │ ├── employee/ # 직원 API
│ │ ├── project/ # 프로젝트 API
│ │ └── report/ # 보고서 API
│ └── utils/ # 유틸리티 (DB 등)
├── nuxt.config.ts # Nuxt 설정
└── package.json
```
## 🗄 데이터베이스 스키마
### 주요 테이블
| 테이블명 | 설명 |
|----------|------|
| `wr_employee_info` | 직원 정보 |
| `wr_project_info` | 프로젝트 정보 |
| `wr_weekly_report` | 주간보고 마스터 |
| `wr_weekly_report_task` | 주간보고 Task (실적/계획) |
| `wr_aggregated_report_summary` | 취합 보고서 |
## 🚀 설치 및 실행
### 요구사항
- Node.js 18+
- PostgreSQL 14+
- OpenAI API Key
### 환경 변수 (.env)
```env
DATABASE_URL=postgresql://user:pass@host:port/weeklyreport
OPENAI_API_KEY=sk-xxx
```
### 설치
```bash
npm install
```
### 개발 서버 실행
```bash
npm run dev
# http://localhost:2026
```
### 프로덕션 빌드
```bash
npm run build
npm run preview
```
## 📡 주요 API
### 인증
| Method | Endpoint | 설명 |
|--------|----------|------|
| POST | `/api/auth/login` | 로그인 |
| POST | `/api/auth/logout` | 로그아웃 |
| GET | `/api/auth/me` | 현재 사용자 정보 |
### 주간보고
| Method | Endpoint | 설명 |
|--------|----------|------|
| GET | `/api/report/weekly/list` | 주간보고 목록 |
| POST | `/api/report/weekly/save` | 주간보고 저장 |
| GET | `/api/report/weekly/[id]/detail` | 주간보고 상세 |
| POST | `/api/report/review` | PMO AI 리뷰 요청 |
### 취합 보고서
| Method | Endpoint | 설명 |
|--------|----------|------|
| GET | `/api/report/summary/weekly-list` | 주차별 취합 목록 |
| POST | `/api/report/summary/aggregate` | 취합 실행 |
| GET | `/api/report/summary/week/detail` | 주차별 상세 |
### 직원/프로젝트
| Method | Endpoint | 설명 |
|--------|----------|------|
| GET | `/api/employee/list` | 직원 목록 |
| POST | `/api/employee/create` | 직원 등록 |
| GET | `/api/project/list` | 프로젝트 목록 |
| POST | `/api/project/create` | 프로젝트 생성 |
## 📸 화면 구성
### 주간보고 작성
- 프로젝트 선택 후 Task 추가
- 금주 실적: 작업내용, 시간, 완료여부
- 차주 계획: 계획내용, 예상시간
- PMO AI 리뷰 자동 생성
### 취합 보고서
- 주차별 프로젝트 현황
- AI 기반 실적/계획 요약
- 인원별 투입 시간 테이블
- 원문 보기 (모달)
## 📄 라이선스
Private - 터보소프트 내부용
---
© 2026 TurboSoft