-
목적:
직원들이 효율적으로 일정을 관리할 수 있도록 지원하며, 캘린더 뷰를 통해 전체 일정을 한눈에 확인하고, 일정 등록, 수정, 삭제, 복사 등의 기능을 통해 편리하게 일정 관리를 수행할 수 있는 시스템 개발 -
주요 사용자:
- 일반 사용자: 자신이 등록한 일정만 관리
- 관리자: 모든 사용자의 일정을 확인 및 관리하며, 통계 페이지를 통해 시스템 운영 현황을 모니터링
- 로그인 기반 인증:
- 사용자 계정을 기반으로 시스템 접근
- 각 사용자에게 고유한 아이디 및 비밀번호 제공
- 사용자 역할 구분:
- 일반 사용자: 자신이 등록한 일정만 확인, 등록, 수정, 삭제
- 관리자: 모든 사용자의 일정 조회 및 관리, 통계 페이지 접근
- 전체 일정 조회:
- 캘린더 뷰를 통해 전체 일정을 한눈에 확인할 수 있음
- 날짜별, 시간대별 일정 배치 확인
- 필수 입력 항목:
- 종류 (일반, 교육, 세미나, 회식 중 선택)
- 제목
- 장소
- 시작시간
- 종료시간
- 참가자 (시스템에 등록된 사용자 목록에서 선택)
- 중복 등록 허용:
- 동일한 시간대에 여러 일정 등록 가능
- 수정/삭제 권한:
- 일정 등록자 본인에게만 수정 및 삭제 권한 부여
- 수정/삭제 시나리오:
- 등록자가 자신의 일정을 선택하여 수정 또는 삭제 진행
- 복사 기능:
- 기존 일정의 모든 데이터를 그대로 복사하여 새로운 일정 생성
- 복사 후 필요에 따라 수정 가능
- 통계 페이지:
- 전체 일정의 운영 현황을 모니터링할 수 있는 통계 정보 제공 (예: 일정 등록 건수, 일정 유형별 분포 등)
- 관리자 권한:
- 모든 사용자의 일정 조회, 수정, 삭제 등 전반적인 일정 관리 기능
- 권한 기반 접근 제어:
- 사용자별로 접근 가능한 기능 제한 (예: 일반 사용자는 본인 일정만 관리, 관리자만 모든 일정 조회)
- 데이터 무결성 및 보안:
- 일정 데이터의 안전한 저장 및 전송 보장
- 성능:
- 캘린더 및 일정 관리 기능의 빠른 응답속도 보장
- 확장성:
- 다수의 사용자와 일정 데이터를 안정적으로 처리할 수 있도록 설계
- 직관적 UI 제공:
- 캘린더 및 일정 관리 화면의 명확한 구성과 사용 편의성 고려
- 로그 및 모니터링:
- 일정 등록, 수정, 삭제, 복사 등의 로그 기록
- 통계 페이지를 통한 운영 현황 모니터링
- 에러 처리 및 복구:
- 일정 관리 과정에서 발생할 수 있는 오류 처리 및 데이터 복구 방안 마련
- 일정 등록 제약:
- 필수 입력 항목이 모두 입력되어야 일정 등록 가능
- 일정 수정/삭제 제한:
- 등록자 외에는 해당 일정에 대해 수정/삭제 불가
- 일정 중복 허용:
- 동일 시간대에 다수의 일정이 존재할 수 있도록 허용
- Docker 및 Docker Compose가 설치되어 있어야 합니다.
- Git이 설치되어 있어야 합니다.
터미널에서 다음 명령어를 실행하여 프로젝트를 클론합니다:
git clone https://github.com/klettermi/calendar.git
cd calendardocker-compose up --build
- http://localhost:8080/login.php에서 로그인합니다.
- 계정이 없으면 http://localhost:8080/register.php에서 회원가입합니다.
- 로그인 후, 대시보드(http://localhost:8080/dashboard.php)에서 자신의 일정 목록을 확인할 수 있습니다.
- "새 일정 추가" 버튼 또는 캘린더 페이지(http://localhost:8080/calendar.php)에서 날짜 셀을 클릭하여 일정 등록 폼으로 이동합니다.
- 스케줄 등록 폼에서는 일정 종류, 제목, 장소, 시작 및 종료 시간, 참여자(체크박스 방식) 등을 입력합니다.
- 등록된 일정은 대시보드와 캘린더 모두에 표시됩니다.
- 일정 수정, 삭제, 복사 기능은 대시보드와 일정 상세 페이지에서 사용할 수 있습니다.
- 관리자는 모든 사용자의 일정을 확인할 수 있습니다.
- 관리자 계정은 설치 시 기본적으로 생성되며, 추가로 사용자 관리 및 시스템 통계 페이지를 구현할 수 있습니다.
- id: admin / pw: admin123