docs: [문서정리] 전체 문서 업데이트 및 admin→mng 전환 반영
- Phase 1-3: 핵심/보조 문서 업데이트, 버전 최신화 - Phase 4: 오래된 파일 정리 및 아카이브 - D0.8 Storyboard → history/2025-12/ 이동 - admin 참조 4개 파일 수정 (docker-setup, git-conventions, project-launch-roadmap, remote-work-setup) - 빈 디렉토리 6개 삭제 - 버전 정보: React 19.2.1, Next.js 15.5.7 - remote-work-setup.md DEPRECATED 표시
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# SAM 시스템 아키텍처
|
||||
|
||||
**업데이트**: 2025-11-18
|
||||
**업데이트**: 2025-12-26
|
||||
|
||||
---
|
||||
|
||||
@@ -10,22 +10,26 @@ SAM은 다중 애플리케이션 Laravel 기반 시스템으로 구성됩니다:
|
||||
|
||||
```
|
||||
SAM/
|
||||
├── admin/ # Laravel 12 + Filament v4 (관리자 패널, 점차 deprecated)
|
||||
├── api/ # Laravel 12 REST API (백엔드)
|
||||
├── mng/ # Laravel 12 + Plain Blade/Tailwind (운영 관리자 패널)
|
||||
├── react/ # Next.js 15 프론트엔드
|
||||
├── mng/ # Laravel 12 + Plain Blade/Tailwind (관리자 패널)
|
||||
├── react/ # Next.js 15.5.7 프론트엔드
|
||||
├── docs/ # 기술 문서
|
||||
├── design/ # 디자인 시스템 (Storybook)
|
||||
├── planning/ # 기획 문서
|
||||
├── sales/ # 영업자 사이트 (추후 개발)
|
||||
├── 5130/ # 레거시 PHP 애플리케이션
|
||||
└── docker/ # Docker 설정
|
||||
```
|
||||
|
||||
## 애플리케이션별 상세
|
||||
|
||||
### admin/ - 관리자 패널
|
||||
### mng/ - 관리자 패널
|
||||
|
||||
**기술 스택:**
|
||||
- Laravel 12
|
||||
- Filament v4
|
||||
- TailwindCSS + Vite
|
||||
- PHP 8.4
|
||||
- Pure Blade + Tailwind CSS 3.x
|
||||
- Sanctum (인증)
|
||||
|
||||
**주요 기능:**
|
||||
- 테넌트 관리
|
||||
@@ -34,25 +38,8 @@ SAM/
|
||||
- 메뉴 관리
|
||||
- 역할 및 부서 관리
|
||||
|
||||
**개발 명령어:**
|
||||
```bash
|
||||
composer dev # 전체 서비스 실행
|
||||
php artisan serve # Laravel 서버
|
||||
npm run dev # Vite HMR
|
||||
```
|
||||
|
||||
### mng/ - Plain Laravel 관리자 패널
|
||||
|
||||
**기술 스택:**
|
||||
- Laravel 12
|
||||
- PHP 8.4
|
||||
- Pure Blade + Tailwind CSS 3.x
|
||||
- Sanctum (인증)
|
||||
|
||||
**주요 특징:**
|
||||
- AI 없이 수정 가능한 단순 구조
|
||||
- Filament 의존성 제거
|
||||
- admin/ 기능 점진적 이식
|
||||
- 좌측 사이드바 + 상단 헤더 레이아웃
|
||||
|
||||
**개발 명령어:**
|
||||
@@ -61,12 +48,6 @@ php artisan serve # Laravel 서버
|
||||
npm run dev # Vite HMR (Tailwind)
|
||||
```
|
||||
|
||||
**현재 진행 상황:**
|
||||
- ✅ Phase 1: 인증 시스템 (로그인/로그아웃)
|
||||
- ✅ Phase 2: 레이아웃 구조 (sidebar + header)
|
||||
- ✅ Phase 3: 테넌트 선택 기능
|
||||
- 🔄 Phase 4: 시스템 관리 메뉴 (admin/ 이식)
|
||||
|
||||
### api/ - REST API
|
||||
|
||||
**기술 스택:**
|
||||
@@ -98,8 +79,8 @@ npm run dev # Vite HMR (Tailwind)
|
||||
### react/ - Next.js 프론트엔드
|
||||
|
||||
**기술 스택:**
|
||||
- Next.js 15
|
||||
- React 19.2.0
|
||||
- Next.js 15.5.7
|
||||
- React 19.2.1
|
||||
- TypeScript 5.x
|
||||
- Tailwind CSS v4
|
||||
- Zustand (상태 관리)
|
||||
@@ -269,11 +250,11 @@ Route::prefix('v1')->middleware(['auth.apikey'])->group(function () {
|
||||
|
||||
### 서비스 구성
|
||||
|
||||
**docker-compose.yml**에 정의된 5개 서비스:
|
||||
**docker-compose.yml**에 정의된 주요 서비스:
|
||||
|
||||
1. **nginx** - 리버스 프록시 서버
|
||||
- 포트: 80
|
||||
- 도메인: `api.sam.kr`, `admin.sam.kr`, `dev.sam.kr`
|
||||
- 도메인: `api.sam.kr`, `mng.sam.kr`, `admin.sam.kr`, `dev.sam.kr`
|
||||
- 보안 규칙 적용 (경로 탐색 공격 차단, User-Agent 필터링)
|
||||
|
||||
2. **api** - Laravel 12 API 서버
|
||||
@@ -281,12 +262,12 @@ Route::prefix('v1')->middleware(['auth.apikey'])->group(function () {
|
||||
- PHP 확장: zip, mysqli, pdo, pdo_mysql, intl
|
||||
- Supervisor로 nginx + php-fpm 동시 실행
|
||||
|
||||
3. **admin** - Laravel 12 Admin 패널
|
||||
3. **mng** - Laravel 12 관리자 패널
|
||||
- 이미지: `php:8.4-fpm`
|
||||
- Filament v4 지원
|
||||
- Pure Blade + Tailwind CSS
|
||||
- Supervisor로 nginx + php-fpm 동시 실행
|
||||
|
||||
4. **react** - Next.js 15 프론트엔드
|
||||
4. **react** - Next.js 15.5.7 프론트엔드
|
||||
- 이미지: `node:20-alpine`
|
||||
- 포트: 3000 (내부)
|
||||
- HMR 지원 (WebSocket)
|
||||
@@ -296,14 +277,18 @@ Route::prefix('v1')->middleware(['auth.apikey'])->group(function () {
|
||||
- 데이터베이스: `samdb`
|
||||
- 사용자: `samuser` / `sampass`
|
||||
|
||||
6. **design** - 디자인 시스템 (Storybook)
|
||||
- 포트: 6006
|
||||
|
||||
### 네트워크 구조
|
||||
|
||||
```
|
||||
samnet (bridge network)
|
||||
├── nginx (리버스 프록시)
|
||||
├── api (Laravel API)
|
||||
├── admin (Laravel Admin)
|
||||
├── mng (Laravel 관리자)
|
||||
├── react (Next.js)
|
||||
├── design (Storybook)
|
||||
└── mysql (데이터베이스)
|
||||
```
|
||||
|
||||
@@ -312,7 +297,8 @@ samnet (bridge network)
|
||||
| 도메인 | 대상 서비스 | 포트 | 용도 |
|
||||
|--------|-----------|------|------|
|
||||
| `api.sam.kr` | api (Laravel) | 80 | REST API |
|
||||
| `admin.sam.kr` | admin (Laravel) | 80 | 관리자 패널 |
|
||||
| `mng.sam.kr` | mng (Laravel) | 80 | 관리자 패널 |
|
||||
| `admin.sam.kr` | mng (Laravel) | 80 | 관리자 패널 (별칭) |
|
||||
| `dev.sam.kr` | react (Next.js) | 3000 | 프론트엔드 |
|
||||
|
||||
### 주요 설정 파일
|
||||
@@ -322,7 +308,7 @@ samnet (bridge network)
|
||||
- 보안 규칙 (경로 탐색, User-Agent 필터링)
|
||||
- WebSocket 지원 (Next.js HMR)
|
||||
|
||||
**api/Dockerfile, admin/Dockerfile**
|
||||
**api/Dockerfile, mng/Dockerfile**
|
||||
- PHP 8.4-fpm 기반
|
||||
- Composer 2 포함
|
||||
- Supervisor 설정
|
||||
@@ -336,11 +322,14 @@ samnet (bridge network)
|
||||
|
||||
## 저장소 구조
|
||||
|
||||
이 프로젝트는 **3개의 독립적인 Git 저장소**로 구성됩니다:
|
||||
이 프로젝트는 **독립적인 Git 저장소들**로 구성됩니다:
|
||||
|
||||
1. **api/** - API 프로젝트 저장소
|
||||
2. **admin/** - 관리자 패널 저장소
|
||||
1. **api/** - REST API 저장소
|
||||
2. **mng/** - 관리자 패널 저장소
|
||||
3. **react/** - Next.js 프론트엔드 저장소
|
||||
4. **docs/** - 기술 문서 저장소
|
||||
5. **design/** - 디자인 시스템 저장소
|
||||
6. **planning/** - 기획 문서 저장소
|
||||
|
||||
각 저장소는 독립적으로 운영되며:
|
||||
- 개별 Git 히스토리 및 브랜치
|
||||
@@ -356,4 +345,4 @@ samnet (bridge network)
|
||||
|
||||
---
|
||||
|
||||
**최종 업데이트**: 2025-11-18 (PHP 8.4, Filament v4, Next.js 15 반영)
|
||||
**최종 업데이트**: 2025-12-26 (admin→mng 전환, Next.js 15.5.7, React 19.2.1 반영)
|
||||
Reference in New Issue
Block a user