2020. 4. 21. 01:37ㆍ프로젝트/rhtn-observer
아이디어
우리가 토이프로젝트를 하고자하는 방향성은 새로운 기술을 습득하고 완성을 목표로하는 프로젝트가 아닌, 기존에 알고 있는 지식들을 더욱 단단히 하고 학습을 위주로 프로젝트를 완성시키는 목적이다.
그중에서도 첫번째 웹 프로젝트는 html과 javascript들을 다시한번 돌아보고 jdbc, jsp, servlet 등을 이용하는 MVC 패턴의 백엔드 프로젝트를 다지기로 했다. 또한 처음에는 기본적인 틀을 구상하고 버전을 업그레이드 해 가듯이 추가 기능들을 넣기로 했다. 이때, 버전관리는 체계적으로 어떻게할지 다시한번 생각해 볼필요가 있다.
창의적인 무언가를 만들기보다는 우리들의 needs에 충족되는 주제를 선정하는데, 두가지 주제가 나왔다.
- 팀원 일정 관리 프로젝트
- 취업 관련 뉴스 및 이슈 크롤링 프로젝트
위 두가지 주제중에 첫 번째 프로젝트로 선정하였는데, 그 이유는 서로 어떤 공부를 하는지 체크하여 적절하게 다음 프로젝트에 녹여 낼 수 있도록 하는것과 서로의 일정을 공유함으로서 선의의 경쟁을 유도했다.
기능
- 회원가입
- 스케줄 등록/삭제/수정
- 프로젝트 참여자 추가/삭제/수정
- 스케줄 조회
크게 4가지 기능을 바라보았다. 위 기능들을 선택한 이유중 학습을 목표로한 목적을 제외한 이유를 나열해 보겠다.
먼저, 앞으로 진행할 토이프로젝트는 특정 시기에는 서버를 열어 놓을 계획이다. 이유는, 우리의 토이프로젝트가 궁금해하는 사람들에 한해서 문서로만 볼 수 있지 않고 직접 들어와서 확인 할수 있도록 하는 목적이 있다. 따라서 회원가입은 회원가입을 한 사람들 중에 일정 관리에 대한 CRUD 권한이 있는 사람들과 조회만 할 수 있는 사람들을 구분하기 위한 목적에 있다.
두 번째는 일정을 어떻게 한눈에 그리고 깔끔하게 보여줄 수 있을지 고민을 했다. 그리고 앞으로도 계속 이어질 고민이다. 지금 까지 나온 결론으로는 스케줄에 관해서 두가지 옵션으로 볼 수 있게 구성을 했다. 먼저 프로젝트 단위로 스케줄을 볼때는, 일주일동안 프로젝트안에서 특정 기능들을 구현한다고 했을때 그 프로젝트와 특정 기능들에 대한 일정들을 요일별로 표시를 해두고 참여자들이 얼마나 진행했는지 투명도로 표시할 계획이다.
간략하게나마 디자인 배치를 그려보았다. 그리고 오른쪽 위에있는 토글 버튼을 누르면 프로젝트 단위에서 유저 단위로 볼 수 있도록 바뀐다.
유저 단위로 스케줄을 봤을때는 프로젝트 단위와는 다르게 개인이 진행중인 일정들이 키워드로 나열된다. 예를들어 그 키워드들은 다음과 같다.
[ 블로그 포스팅 하기, BOJ 몇번 풀기, MVC패턴 공부하기, docker 실습하기 등등.. ]
위와 같은 키워드들은 클릭하게 되면 조금더 세세하게 확인 할 수있다. 내용으로는 Todo, Progress, Done 등이 있겠다. 처음에 키워드를 등록할 때 Todo부분을 추려서 채워놓고 create한다. 그리고 progress를 거쳐 모든 todo가 done으로 바뀐다면 그 키워드는 close 되어진다.
프로젝트 단위 스케줄과 동일하게 오른쪽위의 토글버튼을 누르면 유저 단위 스케줄에서 프로젝트 단위 스케줄로 바꿀 수 있게된다. 유저 단위 스케줄에서는 각 맴버들이 횡으로 나열된다. 그리고 종으로는 개인들이 등록한 스케줄 list를 볼 수있다. 그리고 close되어진 list들은 맴버들 왼쪽에있는 토글 버튼을 클릭해서 확인 가능하다. 마찬가지로 다시한번 누르면 기존 화면인 맴버별로 진행중인 스케줄 목록이 있는 화면으로 돌아올 수 있다.
일단은 이렇게 기능에 대한 틀을 잡아 놓았다. 앞으로는 기존의 틀에서 더 좋은 아이디어가 있다면 첨삭할 예정이다.
다음 목표
다음 목표는 디자인 패턴 구상 및 DB 테이블 구상이다. 앞서 말했다시피 MVC 패턴을 통한 구상을 할 예정이고 테에블 구성을 위한 ER 다이어그램을 구상해 볼 생각이다.