# WIXON Blog Flask 기반 블로그 애플리케이션입니다. ## 프로젝트 구조 ``` wixon_blog/ ├── app.py # Flask 메인 애플리케이션 ├── templates/ # Jinja2 템플릿 │ ├── base.html # 기본 레이아웃 │ ├── index.html # 메인 페이지 │ ├── login.html # 로그인 페이지 │ ├── post.html # 포스트 상세 │ ├── write.html # 포스트 작성 │ ├── edit_post.html # 포스트 수정 │ └── admin/ # 관리자 페이지 │ ├── base_admin.html # 관리자 베이스 템플릿 │ ├── dashboard.html # 대시보드 │ ├── posts.html # 포스트 관리 │ ├── post_detail.html # 포스트 수정 │ ├── members.html # 회원 목록 │ └── member_form.html # 회원 추가/수정 ├── static/ │ ├── css/ │ │ ├── style.css # 메인 스타일 │ │ └── admin.css # 관리자 스타일 │ ├── images/ # 이미지 파일 │ ├── font/ # 웹 폰트 │ └── upload/img/ # 업로드 이미지 └── README.md ``` ## 기술 스택 - **Backend**: Flask (Python) - **Database**: MySQL - **Frontend**: UIKit 3.6.16, jQuery, Summernote Editor - **인증**: bcrypt 암호화, Session 기반 ## 주요 기능 ### 사용자 기능 - 블로그 포스트 조회 - 로그인/로그아웃 - 포스트 작성 (로그인 필요) - 포스트 수정/삭제 (작성자 또는 관리자) ### 관리자 기능 (`/admin/`) - **대시보드**: 통계 (총 포스트, 공개/비공개, 회원 수) - **포스트 관리**: 목록, 검색, 필터링, 수정, 삭제, 복구 - **회원 관리**: 목록, 추가, 수정, 삭제, 비밀번호 재설정 ## URL 구조 | URL | 설명 | |-----|------| | `/` | 메인 페이지 | | `/login` | 로그인 | | `/logout` | 로그아웃 | | `/post/` | 포스트 상세 | | `/write` | 포스트 작성 | | `/edit_post/` | 포스트 수정 | | `/admin/` | 관리자 대시보드 | | `/admin/posts` | 포스트 관리 | | `/admin/members` | 회원 관리 | ## 실행 방법 ```bash # 의존성 설치 pip install flask pymysql bcrypt beautifulsoup4 markupsafe # 앱 실행 python3 app.py ``` 서버가 `http://0.0.0.0:8899`에서 실행됩니다. ## 데이터베이스 테이블 ### blog | 컬럼 | 설명 | |------|------| | id | PK | | user_id | 작성자 ID (FK) | | title | 제목 | | category | 카테고리 (IT, NEWS, ETC) | | contents | 내용 (HTML) | | thumbnail_img | 썸네일 URL | | public_yn | 공개 여부 (Y/N) | | use_yn | 사용 여부 (Y/N, 소프트 삭제) | | add_date | 작성일 | ### member | 컬럼 | 설명 | |------|------| | mb_idx | PK | | mb_id | 로그인 ID | | mb_passwd | 비밀번호 (bcrypt) | | mb_name | 이름 | ## 관리자 계정 - 관리자 권한: `admin`, `wixon`, `javamon` 아이디 보유자 ## 라이선스 WIXON Associates Inc.