159 lines
4.3 KiB
Markdown
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
|