feat: team org panel, admin CRUD, local deploy tools, bidirectional data sync
Add TeamMember model and APIs, team status UI, /admin page, local server bats, and scripts to sync data between local PostgreSQL and Render. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
42
README.md
42
README.md
@@ -67,6 +67,45 @@ npm run dev
|
||||
|
||||
---
|
||||
|
||||
## 로컬 전용 운영 (데이터 PC에 영구 저장)
|
||||
|
||||
Render 용량 제한 시 **이 PC만으로** 운영할 수 있습니다. 모든 데이터는 아래 폴더에 저장됩니다.
|
||||
|
||||
| 데이터 | 저장 위치 |
|
||||
|--------|-----------|
|
||||
| 업무·팀원·KPI 등 | `data/postgres/` (Docker PostgreSQL 볼륨) |
|
||||
| 업무 첨부 파일 | `uploads/` |
|
||||
| 팀원 프로필 사진 | `uploads/team/` |
|
||||
|
||||
### 빠른 시작
|
||||
|
||||
**Windows:** `서버시작.bat` 더블클릭 (DB 시작 → 스키마 동기화 → API+WEB 실행)
|
||||
**종료:** `서버종료.bat` (API/WEB만) · `서버종료.bat docker` (Docker DB까지 중지, 데이터는 유지)
|
||||
|
||||
수동 실행:
|
||||
|
||||
```bash
|
||||
npm run local:db # PostgreSQL 컨테이너 시작
|
||||
npm run local:setup # DB 스키마 동기화
|
||||
npm run local:api # 백엔드 :4000 (터미널 1)
|
||||
npm run local:web # 프론트 :3000 (터미널 2)
|
||||
```
|
||||
|
||||
### 접속 주소
|
||||
|
||||
| 화면 | 주소 |
|
||||
|------|------|
|
||||
| 대시보드 | `http://localhost:3000` |
|
||||
| 팀원 관리 | `http://localhost:3000/admin` |
|
||||
| API | `http://localhost:4000/api` |
|
||||
|
||||
사설망 IP(`172.x`, `192.168.x`)로 접속하면 **자동으로 같은 IP의 :4000 백엔드**에 연결됩니다. (Render 서버 불필요)
|
||||
|
||||
> `backend/.env` 의 `DATABASE_URL` 이 Docker 계정과 맞아야 합니다.
|
||||
> 기본: `postgresql://eee_admin:eee_password@localhost:5432/eee_dashboard`
|
||||
|
||||
---
|
||||
|
||||
## 서버(이 PC) IP 주소 확인
|
||||
|
||||
```powershell
|
||||
@@ -160,3 +199,6 @@ D:\EENE_Dashboard\
|
||||
| DELETE | /api/files/:id | 파일 삭제 |
|
||||
| GET | /api/kpi | KPI 조회 |
|
||||
| POST | /api/kpi | KPI 등록 |
|
||||
| GET | /api/team-members | 팀원 목록 |
|
||||
| POST | /api/team-members | 팀원 등록 |
|
||||
| POST | /api/team-members/photo | 팀원 사진 업로드 (로컬 저장) |
|
||||
|
||||
Reference in New Issue
Block a user