Personal Role
프로젝트 소개
Jsp 기반의 나만의 디자인으로 디자인한 Todo List를 사용하여 계획적인 하루 보내기 위해 만든 팀 프로젝트입니다.
이번 프로젝트에서 저는 로그인, 타임테이블, 원형 차트의 BackEnd와 FrontEnd를 만들었습니다.
ERD
기능 소개
Splash Screen
왼쪽 상단 카멜레온 로고를 클릭하면 스플래시 스크린을 띄운 후 메인화면으로 돌아가도록 구현했습니다.
로그인
jsp form 태그의 POST메소드를 이용해 DB에 일치하는 ID와 PW가 존재하면 session에 사용자 정보를
저장한 후 홈 화면으로 이동하도록 구현했습니다.
TimeTable - 시간표 형태로 일정을 관리하는 기능
- 시간표 조회
로그인한 사용자의 시간표 데이터를 DB에서 가져와 출력하도록 구현했습니다.
- 시간표 추가, 삭제
시간표 추가 기능은 exist 메서드로 사용자가 추가하려는 시간에 데이터가 존재하는지 확인한 후 새로 추가하는 일정이
기존 일정과 겹칠 경우 기존 일정을 삭제하고 새로 쓰인 일정을 추가하도록 구현했습니다.
시간표 삭제 기능은 초기화하기 버튼으로 모든 시간표 내용을 지울 수 있도록 구현했습니다.
Table 요소를 사용하여 시간표를 표시하는 테이블을 생성한 후 c:forEach 태그를
사용하여 0시부터 23시까지 24개의 행을 생성했습니다.
c:forEach와 c:if 태그를 사용하여 리스트의 항목을 반복하며 현재 시간이 해당 항목의 시작 시간과 종료시간 사이에 있는지 확인한 후 조건에 맞는 항목의
내용을 셀에 표시하도록 구현했습니다.
조건이 맞는 경우 해당 항목의 내용을 셀에 표시한 후 colorChange 함수를 호출하여 행의 배경색을 변경하도록 했습니다.
원형 시간표 - 방학 시간표 형태로 일정 관리를 할 수 있는 기능
Google Pie chart API를 활용해 원형 시간표를 구현했습니다.
Pie chart API 특성상 차트 옆부분에 시간을 표시할 수 없어서 차트 밑 부분에 따로 시간과 일정이 보이도록
구현했습니다.
- 원형 시간표 추가, 삭제
시간표를 추가할 때 종료시간이 시작 시간보다 빠르지 않도록 자바스크립트로 제약사항을 걸었습니다.
카멜레온 집사
일정 관리 및 커뮤니티 웹 사이트