[code]
# [당신의프로젝트] 표준 웹 애플리케이션 설계서
## 프로젝트 개요
### 프로젝트명
**[프로젝트명을 여기에 입력]**
### 프로젝트 목표
- 사용자 관리 시스템을 갖춘 웹 애플리케이션 구축
- 콘텐츠 관리 및 상품/주문 처리 시스템 구현
- 관리자 대시보드를 통한 통합 관리 환경 제공
### 개발 환경
- **언어**: PHP 7.4+
- **데이터베이스**: MariaDB 10.4+
- **웹서버**: Apache 2.4+ (Nginx 호환)
- **프론트엔드**: HTML5, CSS3, JavaScript ES6
### 예상 개발 기간
총 6단계, 8일 소요 (1인 개발자 기준)
---
## 시스템 구조
### 디렉터리 구조
```
/
├── config/
│ └── config.php # 데이터베이스 및 시스템 설정
├── lib/
│ ├── database.php # 데이터베이스 연결 및 기본 쿼리
│ ├── auth.php # 인증 및 세션 관리
│ ├── user.php # 사용자 관리
│ ├── content.php # 콘텐츠 관리
│ ├── product.php # 상품/주문 관리
│ ├── payment.php # 결제 처리
│ ├── upload.php # 파일 업로드
│ ├── admin.php # 관리자 기능
│ ├── notify.php # 알림 시스템
│ └── utils.php # 공통 유틸리티
├── admin/
│ ├── dashboard.php # 관리자 대시보드
│ ├── users.php # 사용자 관리
│ ├── products.php # 상품 관리
│ └── orders.php # 주문 관리
├── includes/
│ ├── header.php # 공통 헤더
│ ├── footer.php # 공통 푸터
│ └── nav.php # 네비게이션
├── assets/
│ ├── css/ # 스타일시트
│ ├── js/ # 자바스크립트
│ └── images/ # 이미지 파일
├── uploads/ # 업로드 파일 저장소
├── index.php # 메인 페이지
├── product.php # 상품 페이지
├── board.php # 게시판
└── mypage.php # 마이페이지
```
---
## 데이터베이스 설계
### 테이블 구조 (15개 테이블)
#### 사용자 관리 (u_*)
- **u_user**: 사용자 기본 정보
- **u_file**: 파일 관리
- **u_config**: 시스템 설정
#### 콘텐츠 관리 (c_*)
- **c_board**: 게시판 설정
- **c_post**: 게시글
- **c_comment**: 댓글
#### 상품/주문 (p_*)
- **p_product**: 상품 정보
- **p_order**: 주문 정보
- **p_payment**: 결제 정보
#### 관리자 업무 (m_*)
- **m_task**: 관리자 작업
- **m_log**: 시스템 로그
#### 시스템 (s_*)
- **s_session**: 세션 관리
- **s_notify**: 알림
- **s_setting**: 전역 설정
- **s_cache**: 캐시 데이터
### 주요 테이블 상세
#### u_user (사용자)
```sql
CREATE TABLE u_user (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) UNIQUE NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
role ENUM('user', 'admin') DEFAULT 'user',
status ENUM('active', 'suspended') DEFAULT 'active',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
```
#### c_post (게시글)
```sql
CREATE TABLE c_post (
id INT PRIMARY KEY AUTO_INCREMENT,
board_id INT NOT NULL,
user_id INT NOT NULL,
title VARCHAR(200) NOT NULL,
content TEXT NOT NULL,
view_count INT DEFAULT 0,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (board_id) REFERENCES c_board(id),
FOREIGN KEY (user_id) REFERENCES u_user(id)
);
```
#### p_order (주문)
```sql
CREATE TABLE p_order (
id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT NOT NULL,
total_amount DECIMAL(10,2) NOT NULL,
status ENUM('pending', 'paid', 'shipped', 'completed') DEFAULT 'pending',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES u_user(id)
);
```
---
## 라이브러리 구조
### lib/database.php (8개 함수)
- `db_connect()`: 데이터베이스 연결
- `db_query()`: 쿼리 실행
- `db_insert()`: 데이터 삽입
- `db_update()`: 데이터 수정
- `db_delete()`: 데이터 삭제
- `db_select()`: 데이터 조회
- `db_escape()`: 문자열 이스케이프
- `db_close()`: 연결 종료
### lib/auth.php (12개 함수)
- `session_start_custom()`: 세션 시작
- `login_user()`: 사용자 로그인
- `logout_user()`: 사용자 로그아웃
- `check_permission()`: 권한 확인
- `is_logged_in()`: 로그인 상태 확인
- `get_user_info()`: 사용자 정보 조회
- `register_user()`: 사용자 등록
- `verify_password()`: 비밀번호 검증
- `update_password()`: 비밀번호 변경
- `block_user()`: 사용자 차단
- `get_user_role()`: 사용자 역할 조회
- `session_cleanup()`: 세션 정리
### lib/user.php (15개 함수)
- `get_user_profile()`: 프로필 조회
- `update_profile()`: 프로필 수정
- `change_password()`: 비밀번호 변경
- `upload_avatar()`: 아바타 업로드
- `get_user_list()`: 사용자 목록
- `search_users()`: 사용자 검색
- `ban_user()`: 사용자 금지
- `unban_user()`: 사용자 해제
- `delete_user()`: 사용자 삭제
- `get_user_stats()`: 사용자 통계
- `validate_email()`: 이메일 검증
- `send_verification()`: 인증 메일 발송
- `verify_account()`: 계정 인증
- `reset_password()`: 비밀번호 재설정
- `check_username_exists()`: 사용자명 중복 확인
---
## 페이지 구조
### 프론트엔드 페이지
#### index.php (메인 페이지)
- **역할**: 서비스 소개 및 최신 콘텐츠 표시
- **사용 테이블**: c_post, p_product, u_user
- **주요 기능**: 인기 상품, 최신 게시글, 사용자 통계
- **연관 lib**: content.php, product.php
#### product.php (상품 페이지)
- **역할**: 상품 목록 및 상세 정보 표시
- **사용 테이블**: p_product, p_order, u_user
- **주요 기능**: 상품 검색, 필터링, 주문 처리
- **연관 lib**: product.php, payment.php
#### board.php (게시판)
- **역할**: 게시글 목록 및 상세 보기
- **사용 테이블**: c_board, c_post, c_comment, u_user
- **주요 기능**: 글 작성, 댓글, 파일 첨부
- **연관 lib**: content.php, upload.php
#### mypage.php (마이페이지)
- **역할**: 사용자 정보 관리 및 주문 내역
- **사용 테이블**: u_user, p_order, c_post
- **주요 기능**: 프로필 수정, 주문 조회, 작성글 관리
- **연관 lib**: user.php, product.php
### 백엔드 페이지
#### admin/dashboard.php (관리자 대시보드)
- **역할**: 전체 시스템 현황 및 통계
- **사용 테이블**: 모든 테이블
- **주요 기능**: 실시간 통계, 차트, 알림
- **연관 lib**: admin.php, utils.php
#### admin/users.php (사용자 관리)
- **역할**: 사용자 목록 및 관리 기능
- **사용 테이블**: u_user, m_log
- **주요 기능**: 사용자 검색, 권한 변경, 활동 로그
- **연관 lib**: user.php, admin.php
#### admin/products.php (상품 관리)
- **역할**: 상품 등록 및 재고 관리
- **사용 테이블**: p_product, p_order
- **주요 기능**: 상품 CRUD, 재고 관리, 판매 통계
- **연관 lib**: product.php, admin.php
#### admin/orders.php (주문 관리)
- **역할**: 주문 처리 및 배송 관리
- **사용 테이블**: p_order, p_payment, u_user
- **주요 기능**: 주문 상태 변경, 결제 확인, 배송 처리
- **연관 lib**: product.php, payment.php
---
## 6단계 개발 프로세스
### 1단계: 기반 인프라 구축
- **구현 대상**: config/, lib/database.php, lib/auth.php
- **완료 조건**: DB 연결, 기본 인증 시스템
### 2단계: 사용자 관리 시스템
- **구현 대상**: lib/user.php, lib/upload.php, mypage.php
- **완료 조건**: 회원 관리, 파일 업로드
### 3단계: 콘텐츠 관리 시스템
- **구현 대상**: lib/content.php, board.php
- **완료 조건**: 게시판, 댓글 시스템
### 4단계: 상품/주문 시스템
- **구현 대상**: lib/product.php, lib/payment.php, product.php
- **완료 조건**: 상품 관리, 주문 처리
### 5단계: 관리자 시스템
- **구현 대상**: lib/admin.php, admin/ 폴더
- **완료 조건**: 관리자 대시보드
### 6단계: 통합 테스트
- **구현 대상**: 전체 시스템 검증
- **완료 조건**: 성능 최적화, 보안 검증
---
## 보안 및 성능 요구사항
### 보안 체크리스트
- SQL Injection 방지 (Prepared Statement)
- XSS 공격 차단 (입력값 필터링)
- CSRF 토큰 적용
- 파일 업로드 보안 검증
- 세션 하이재킹 방지
### 성능 최적화
- 데이터베이스 인덱싱
- 쿼리 최적화
- 캐시 시스템 활용
- 이미지 최적화
- CDN 연동 (선택사항)
### 확장성 고려사항
- 모듈형 구조 설계
- API 호환성 유지
- 다국어 지원 준비
- 모바일 반응형 디자인
- 클라우드 배포 대응
[/code]
필요한 부분 수정해서 쓰시면 좋을 거같습니다.
https://drive.google.com/file/d/125Sct1gDCGcj_7olyByUlb64nZR0aajF/view?usp=sharing
댓글 4개
게시글 목록
| 번호 | 제목 |
|---|---|
| 1188 | |
| 1187 | |
| 1186 | |
| 1185 | |
| 1177 | |
| 1176 | |
| 1173 | |
| 1152 | |
| 1150 | |
| 1146 | |
| 1145 | |
| 1141 | |
| 1140 | |
| 1138 | |
| 1137 | |
| 1136 | |
| 1133 | |
| 1132 | |
| 1130 | |
| 1128 | |
| 1126 | |
| 1121 | |
| 1116 | |
| 1114 | |
| 1111 | |
| 1094 | |
| 1093 | |
| 1089 | |
| 1086 | |
| 1084 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기