그룹웨어 캘린더 시스템은 Toast UI Calendar를 기반으로 한 웹 기반 일정 관리 도구입니다. 그누보드 회원 시스템과 완전히 연동되어 개인별 일정 관리가 가능합니다.
월간, 주간, 일간 보기를 지원하여 원하는 형태로 일정을 확인할 수 있습니다.
그누보드 회원 시스템과 연동되어 개인별 일정이 안전하게 관리됩니다.
Toast UI Calendar의 세련된 인터페이스로 쉽고 편리한 일정 관리가 가능합니다.
PC, 태블릿, 모바일 등 다양한 기기에서 최적화된 화면을 제공합니다.
구분 | 최소 요구사항 | 권장 사항 |
---|---|---|
웹서버 | Apache 2.2+ / Nginx 1.8+ | Apache 2.4+ / Nginx 1.14+ |
PHP | PHP 7.2+ | PHP 7.4+ / PHP 8.0+ |
데이터베이스 | MySQL 5.6+ / MariaDB 10.0+ | MySQL 5.7+ / MariaDB 10.3+ |
그누보드 | 5.4+ | 5.5+ |
그누보드 루트 디렉토리에 calendar
폴더를 생성합니다.
다음 파일들을 calendar
폴더에 업로드합니다:
index.php
- 메인 캘린더 화면_common.php
- 공통 설정 파일install.php
- 테이블 설치 스크립트api_events.php
- 일정 조회 APIapi_event_create.php
- 일정 생성 API웹 브라우저에서 다음 URL에 접속하여 테이블을 생성합니다:
설치가 완료되면 다음과 같은 테이블이 생성됩니다:
그누보드에 로그인한 후 다음 URL로 접속합니다:
다음과 같은 버튼들로 캘린더를 조작할 수 있습니다:
캘린더의 원하는 날짜나 시간을 클릭하면 일정 생성 팝업이 나타납니다.
모든 정보를 입력한 후 '저장' 버튼을 클릭하면 일정이 등록됩니다.
등록된 일정은 캘린더에 색상별로 표시됩니다:
등록된 일정을 클릭하면 상세 정보를 확인할 수 있습니다.
뷰 타입 | 특징 | 사용 용도 |
---|---|---|
월간 보기 | 한 달 전체 일정을 격자 형태로 표시 | 월별 전체 일정 파악, 장기 계획 수립 |
주간 보기 | 1주일 단위로 시간별 일정 표시 | 주간 일정 관리, 시간별 스케줄 확인 |
일간 보기 | 하루 단위로 시간별 상세 일정 표시 | 일일 상세 스케줄 관리, 시간 단위 계획 |
캘린더 데이터는 다음 테이블에 저장됩니다:
정기적인 데이터 백업을 위한 SQL 명령어:
최적 성능을 위한 인덱스 설정:
api_event_create.php에서 다음 주석을 해제하세요:
api_events.php에서 운영 환경용 설정:
브라우저 | 지원 버전 | 주요 제한사항 |
---|---|---|
Chrome | 60+ (권장: 최신) | 없음 |
Firefox | 55+ (권장: 최신) | 없음 |
Safari | 12+ (권장: 최신) | 일부 CSS 효과 제한 |
Edge | 79+ (권장: 최신) | 없음 |
Internet Explorer | 지원 안 함 | 모던 JavaScript 미지원 |
용도: 지정된 날짜 범위의 일정 목록을 조회합니다.
파라미터 | 타입 | 필수 | 설명 |
---|---|---|---|
start | string | Y | 조회 시작 날짜 (YYYY-MM-DD) |
end | string | Y | 조회 종료 날짜 (YYYY-MM-DD) |
용도: 새로운 일정을 데이터베이스에 저장합니다.
파라미터 | 타입 | 필수 | 설명 |
---|---|---|---|
title | string | Y | 일정 제목 |
start | string | Y | 시작 일시 (YYYY-MM-DD HH:mm:ss) |
end | string | Y | 종료 일시 (YYYY-MM-DD HH:mm:ss) |
calendarId | string | N | 캘린더 구분 (기본값: "1") |
isAllDay | boolean | N | 종일 일정 여부 (기본값: false) |
location | string | N | 장소 |
body | string | N | 일정 내용 |
token | string | Y* | CSRF 토큰 (*운영 환경에서 필수) |
구분 | 형식 | 예시 | 용도 |
---|---|---|---|
종일 일정 | YYYY-MM-DD | 2025-06-04 | API 응답의 start/end |
시간 일정 | ISO 8601 | 2025-06-04T10:00:00+09:00 | API 응답의 start/end |
DB 저장 | DATETIME | 2025-06-04 10:00:00 | 데이터베이스 저장 |
입력 파라미터 | DATETIME | 2025-06-04 10:00:00 | API 요청 |
캘린더 ID | 이름 | 배경색 | 테두리색 |
---|---|---|---|
1 | 개인 일정 | #00a9ff | #00a9ff |
2 | 회사 일정 | #03bd9e | #03bd9e |
기타 | 기본 | #d2d2d2 | #d2d2d2 |
index.php의 calendars 옵션에 새 캘린더 추가:
api_event_create.php에서 색상 매핑 업데이트:
새로운 API 파일 생성 (api_event_update.php, api_event_delete.php)
JavaScript 이벤트 핸들러 추가:
부서별 또는 그룹별 일정 공유 기능:
알림 테이블 생성 및 스케줄러 연동:
버전 | 날짜 | 주요 변경사항 |
---|---|---|
1.0.0 | 2025-06-04 | 최초 릴리즈 - 기본 캘린더 기능 구현 |
1.0.1 | 예정 | 일정 수정/삭제 기능 추가 예정 |
1.1.0 | 예정 | 반복 일정, 알림 기능 추가 예정 |
개발자를 위한 로컬 환경 설정 가이드:
개발 시 유용한 디버깅 설정:
항목 | 측정값 | 기준 환경 |
---|---|---|
페이지 로드 시간 | < 2초 | Apache 2.4, PHP 7.4, MySQL 5.7 |
일정 조회 (100개) | < 500ms | 인덱스 최적화 적용 |
일정 생성 | < 300ms | AJAX 요청 기준 |
메모리 사용량 | < 32MB | PHP 프로세스당 |
그룹웨어 캘린더 시스템을 이용해 주셔서 감사합니다.
기술 지원: 개발팀
문서 버전: 1.0
최종 업데이트: 2025년 6월 4일
본 문서는 PDF로 인쇄하여 보관하실 수 있습니다.