diff --git a/README.md b/README.md new file mode 100644 index 0000000..057f524 --- /dev/null +++ b/README.md @@ -0,0 +1,72 @@ +# SR System — HQ Helpdesk & ITAM Portal + +SM/SI 파견 직원 통합 지원 및 IT 자산 관리 포털 + +## Architecture + +``` +Cloudflare → NPM (SSL/443) → Frontend (Next.js 16, :3000) + └→ Backend (Spring Boot 3, :8080) + └→ PostgreSQL 15 (외부) +``` + +## Stack + +| Layer | Tech | +|-------|------| +| Frontend | Next.js 16, TypeScript, Tailwind CSS, Zustand | +| Backend | Spring Boot 3.x, Java 17, Spring Data JPA, Spring Security | +| Database | PostgreSQL 15 | +| Infra | Docker, Nginx Proxy Manager, Cloudflare Tunnel | + +## Quick Start + +```bash +cp .env.example .env +# .env에 DB 비밀번호, JWT_SECRET 입력 +docker compose up -d --build +``` + +접속: `http://localhost:3000` + +### 로컬 개발 + +```bash +# backend +cd backend && ./gradlew bootRun + +# frontend +npm run dev +``` + +## Deploy + +```bash +git pull +docker compose up -d --build +``` + +NPM에서 Proxy Host 등록: `도메인 → http://서버IP:3000` + +## Structure + +``` +├── backend/ Spring Boot API +├── src/ Next.js frontend +│ ├── app/ Routes (App Router) +│ ├── components/ UI components +│ ├── services/ API client +│ ├── stores/ Zustand stores +│ └── types/ TypeScript types +├── docker-compose.yml +├── Dockerfile Frontend +└── .env.example +``` + +## Default Account + +| Role | ID | Password | +|------|----|----------| +| Admin | admin | admin123 | +| Manager | manager | admin123 | +| Employee | employee | admin123 |