이 프로그램은 콘솔 환경에서도 편리한 일정 관리를 위해 개발되었습니다. 서버-클라이언트 모델을 채택하여 여러 클라이언트에서 접속하여 일정을 확인 및 수정할 수 있으며, 클라이언트 컴퓨터의 로컬 저장소가 삭제되더라도 데이터가 유실되지 않습니다.
- 캘린더 표시 화면: 선택한 월의 캘린더를 표시하고, 일정이 있는 날짜에 강조 표시가 되어 있어 쉽게 확인할 수 있습니다.
- 일정 표시 화면: 선택한 날짜의 모든 일정을 한 눈에 확인할 수 있습니다.
- 명령어 화면: 원하는 명령어를 입력하여 실행할 수 있습니다.
- 일정 추가: 원하는 월, 일에 일정을 추가합니다.
- 일정 검색: 특정 날짜에 있는 모든 일정을 확인합니다.
- 일정 날짜 변경: 일정이 변경된 경우 날짜를 변경할 수 있습니다.
- 일정 삭제: 일정을 삭제할 수 있습니다.
- Debian 계열의 Linux(Debian, Ubuntu 등) 및 x86계열의 CPU가 필요합니다.
- UNIX 및 다른 POSIX Linux도 호환되지만, 모든 동작이 정상적으로 실행됨을 보장하지는 않습니다.
- ncurses 라이브러리를 설치해야 정상적으로 프로그램이 동작합니다.
- apt-get을 이용하여 설치해 주세요.
sudo apt-get update
sudo apt-get install libncurses5-dev libncursesw5-dev
-
Repository Clone
git clone https://github.com/your-username/calendar.git
-
프로그램을 컴파일합니다. (또는 make 명령어 실행)
gcc -w -o calClient cleanver.c calClient.c -lncurses //클라이언트 시스템에서 실행 gcc -o calServer calServer.c // 서버 시스템에서 실행
make를 Shell에서 실행할 경우 Makefile의 Script에 의해 자동으로 컴파일되므로 gcc 명령어를 수동으로 실행하지 않아도 됩니다.
-
캘린더 프로그램을 실행합니다.
./calServer 3000(포트 번호) // 서버 시스템 ./calClient //클라이언트 시스템
- 캘린더 프로그램의 메인 화면입니다.
- CALENDAR 메뉴: 현재 월의 달력을 확인할 수 있습니다.
- CONTENTS 메뉴: 선택한 날짜의 일정을 확인할 수 있습니다.
- USAGE EXAMPLE 메뉴: 명령어 입력 방법과 예시를 확인할 수 있습니다.
- COMMAND 메뉴: 캘린더 프로그램의 명령어를 입력할 수 있습니다.
[명령어 입력 예시 화면]
[명령어 입력 후 Enter 키를 누르고 명령이 실행된 화면]
- a 명령어를 이용하여 캘린더에 일정을 추가합니다.
- 입력 예시: a (날짜) (제목)>(내용)
- 날짜의 입력 예시는 YYYY.MM.DD (연.월.일) 입니다.
- (예: abcde라는 제목과 SystemProgramming이라는 내용의 일정을 2023년 5월 25일에 추가하려면 a 2023.05.25 abcde>SystemProgramming 으로 입력합니다.)
[명령어 입력 예시 화면]
[명령어 입력 후 Enter 키를 누르고 명령이 실행된 화면]
- c 명령어를 이용하여 캘린더에 저장되어 있는 특정 일자의 일정 전체 목록을 확인할 수 있습니다.
- 입력 예시: c (날짜)
- 날짜의 입력 예시는 YYYY.MM.DD (연.월.일) 입니다.
- (예: 2023년 5월 25일의 일정을 확인하려면 c 2023.05.25 로 입력합니다.)
[명령어 입력 예시 화면]
[명령어 입력 후 Enter 키를 누르고 명령이 실행된 화면]
- mv 명령어를 이용하여 캘린더에 저장되어 있는 일정의 날짜를 변경할 수 있습니다.
- 입력 예시: mv (변경 전 날짜) (변경 후 날짜) (일정의 제목)
- 날짜의 입력 예시는 YYYY.MM.DD (연.월.일) 입니다.
- (예: abcde라는 제목의 일정을 2023년 5월 25일에서 2023년 5월 30일로 변경하려면 mv 2023.05.25 2023.05.30 abcde 로 입력합니다.)
[명령어 입력 예시 화면]
[명령어 입력 후 Enter 키를 누르고 명령이 실행된 화면]
- cc 명령어를 이용하여 선택한 월의 일정이 존재하는 모든 날짜를 확인할 수 있습니다.
- 입력 예시: cc (확인할 월)
- 확인할 월은 YYYY.MM (연.월) 순서로 입력합니다.
- (예: 2023년 5월을 확인하려면 cc 2023.05 로 입력합니다)
[명령어 입력 예시 화면]
[명령어 입력 후 Enter 키를 누르고 명령이 실행된 화면]
- rm 명령어를 이용하여 특정 일정을 삭제할 수 있습니다.
- 입력 예시: rm (삭제할 일정이 속한 날짜) (삭제할 일정의 제목)
- 날짜의 입력 예시는 YYYY.MM.DD (연.월.일) 입니다.
- (예: 2023년 5월 25일의 abcde라는 제목의 일정을 삭제하려면 rm 2023.05.25 abcde 로 입력합니다.)
- 프로그램 종료 시 q 를 입력하고 Enter 키를 누르면 종료됩니다.
- 프로그램 오작동 방지를 위해 시스템 시그널을 이용한 Ctrl+C키, Ctrl+\키는 동작하지 않습니다.
이 프로젝트는 CC BY-NC-SA License로서 자유롭게 배포 및 이용이 가능하나, 상업적 이용 및 무단 라이센스 변경 배포는 금지됩니다. 이 프로젝트의 기여는 다음과 같은 방식으로 진행할 수 있습니다.
- 프로젝트 버그 리포트
- 프로젝트에서 버그가 발견된 경우 Github의 Issues에 올려주세요
- Pull Request는 저희 팀원만 가능하므로, 필요한 경우 사전에 연락 부탁드립니다.