Skip to content

About

PHP·MySQL 기반 대학 부속홈페이지 통합관리 CMS 개인 포트폴리오

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

99 Commits

Folders and files

Repository files navigation

university-cms-php

PHP·MySQL 기반 대학 부속홈페이지 통합관리 CMS 프로젝트입니다.

이 프로젝트는 대학교·공공기관 홈페이지 구축 및 유지보수 업무를 가정하고, 여러 부속 홈페이지를 하나의 관리자 시스템에서 관리할 수 있도록 설계하는 개인 포트폴리오 프로젝트입니다.

개발 목적

웹에이전시/SI 환경에서 자주 요구되는 홈페이지 구축, CMS 관리 기능, 게시판 운영, 파일 업로드, 역할관리, 유지보수 흐름을 직접 구현해보기 위해 제작합니다.

단순 게시판 구현이 아니라, 요구사항 정리부터 DB 설계, 관리자 기능 구현, 일반 방문자 화면 구현, 테스트, 실행 방법 문서화까지 처음부터 끝까지 직접 구축하는 것을 목표로 합니다.

주요 구현 목표

  • 관리자 로그인/로그아웃
  • 관리자 역할관리
  • 부속 홈페이지 관리
  • 메뉴 관리
  • 일반 페이지 관리
  • 게시판 관리
  • 게시글 검색 및 페이징
  • 첨부파일 업로드/다운로드
  • 배너 및 팝업 관리
  • 페이지 수정 이력 관리
  • 관리자 작업 로그 기록

핵심 구현 포인트

  • Docker Compose 기반 PHP·MySQL 개발환경 구성
  • PDO 기반 DB 연결 및 관리자 인증 처리
  • 세션 기반 로그인/로그아웃 구현
  • 역할 기반 접근 제한 기초 구현
  • 사이트·메뉴 관리 CRUD 구현
  • 관리자 작업 로그 기록 및 조회 기능 구현
  • 요구사항정의서, DB 설계, 화면목록, 개발기록 문서화

현재 구현 상태

구현 완료

  • Docker Compose 기반 개발환경 구성
  • PHP 8.3 + Apache 실행환경 구성
  • MySQL 8.4 개발 DB 구성
  • phpMyAdmin 개발 보조 도구 구성
  • PDO 기반 DB 연결 구성
  • 관리자 로그인 화면 구현
  • 기본 관리자 계정 seed 추가
  • password_hash / password_verify 기반 로그인 처리
  • 관리자 로그인 세션 저장
  • 관리자 로그아웃 처리
  • 관리자 세션 가드 분리
  • 역할 기반 접근 제한 기초 구현
  • 관리자 작업 로그 테이블 추가
  • 관리자 작업 로그 저장 모델 구현
  • 관리자 로그인 성공/실패 로그 기록
  • 관리자 로그아웃 로그 기록
  • 관리자 역할 제한 실패 로그 기록
  • 사이트 테이블 및 샘플 seed 추가
  • 사이트 목록 화면 구현
  • 사이트 등록/수정 화면 구현
  • 사이트 등록/수정 처리 구현
  • 사이트 등록/수정 입력값 검증
  • 사이트 사용 중지/사용 재개 처리 구현
  • 사이트 등록/수정/사용 중지/사용 재개 로그 기록
  • 메뉴 테이블 추가
  • 메뉴 목록 화면 구현
  • 메뉴 등록 화면 구현
  • 메뉴 등록 처리 구현
  • 메뉴 등록 입력값 검증
  • 메뉴 등록 성공 시 관리자 작업 로그 기록
  • 대시보드에 메뉴 관리 링크 추가
  • 메뉴 단건 조회 모델 구현
  • 메뉴 수정 화면 구현
  • 메뉴 수정 처리 구현
  • 메뉴 수정 입력값 검증
  • 메뉴 수정 성공 시 관리자 작업 로그 기록
  • 상위 메뉴가 같은 사이트에 속하는지 검증
  • 메뉴 등록/수정 화면에서 상위 메뉴 select 선택 방식 적용
  • 메뉴 목록에서 상위 메뉴명 표시
  • 메뉴 노출/숨김 처리 구현
  • 메뉴 노출/숨김 처리 시 관리자 작업 로그 기록
  • 관리자 작업 로그 조회 화면 구현
  • 메뉴 목록 트리 들여쓰기 표시

다음 구현 예정

  • 일반 페이지 관리
  • 게시판 관리
  • 게시글 및 첨부파일 관리

기술 스택

  • PHP 8.3
  • MySQL 8.4
  • PDO
  • HTML
  • Apache HTTP Server
  • Docker Compose
  • phpMyAdmin
  • Git/GitHub

문서

요구사항 → DB 설계 → 화면 목록 → 구현 기록 순서로 개발 과정을 문서화했습니다.

로컬 실행 방법

copy .env.example .env
docker compose up -d --build

앱 접속:

http://localhost:8080

관리자 로그인:

http://localhost:8080/admin/login

phpMyAdmin:

http://localhost:8081

개발 DB는 .env.example 기준으로 university_cms를 사용합니다.

개발 진행 계획

현재는 관리자 로그인, 역할 제한, 사이트 관리, 메뉴 관리 기본 기능, 관리자 작업 로그 조회 화면까지 구현했습니다.

메뉴 관리는 사이트별 목록 조회, 등록, 수정, 상위 메뉴 선택, 상위 메뉴명 표시, 트리 들여쓰기 표시, 노출/숨김 처리까지 구현했습니다.

아직 메뉴 실제 삭제 정책, 일반 방문자 화면 메뉴 출력, 페이지/게시판 실제 연결은 구현하지 않았습니다. 현재 메뉴 숨김은 실제 삭제가 아니라 is_visible 값을 변경해 노출 여부만 조정하는 방식입니다.

다음 단계에서는 일반 페이지 관리와 게시판 관리 기능으로 확장할 예정입니다.

주의사항

본 프로젝트는 개인 학습 및 포트폴리오 목적의 가상 프로젝트입니다.

실제 회사 코드, 회사 DB 구조, 고객사 정보, 내부 문서, 실무 데이터를 사용하지 않습니다.

About

PHP·MySQL 기반 대학 부속홈페이지 통합관리 CMS 개인 포트폴리오

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages