1ㅊㅏ완료
This commit is contained in:
159
README.md
159
README.md
@@ -1 +1,158 @@
|
||||
2026!
|
||||
# 📋 주간업무보고 시스템 (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:3000
|
||||
```
|
||||
|
||||
### 프로덕션 빌드
|
||||
```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
|
||||
|
||||
@@ -5,6 +5,7 @@ const ADMIN_EMAIL = 'coziny@gmail.com'
|
||||
interface TaskInput {
|
||||
description: string
|
||||
hours: number
|
||||
isCompleted?: boolean
|
||||
}
|
||||
|
||||
interface ProjectInput {
|
||||
|
||||
Reference in New Issue
Block a user