첫번째 토이프로젝트 - Observer(1)

2020. 4. 21. 01:37프로젝트/rhtn-observer

 아이디어 

우리가 토이프로젝트를 하고자하는 방향성은 새로운 기술을 습득하고 완성을 목표로하는 프로젝트가 아닌, 기존에 알고 있는 지식들을 더욱 단단히 하고 학습을 위주로 프로젝트를 완성시키는 목적이다. 

 

그중에서도 첫번째 웹 프로젝트는 html과 javascript들을 다시한번 돌아보고 jdbc, jsp, servlet 등을 이용하는 MVC 패턴의 백엔드 프로젝트를 다지기로 했다. 또한 처음에는 기본적인 틀을 구상하고 버전을 업그레이드 해 가듯이 추가 기능들을 넣기로 했다. 이때, 버전관리는 체계적으로 어떻게할지 다시한번 생각해 볼필요가 있다.

 

창의적인 무언가를 만들기보다는 우리들의 needs에 충족되는 주제를 선정하는데, 두가지 주제가 나왔다.

 

  • 팀원 일정 관리 프로젝트
  • 취업 관련 뉴스 및 이슈 크롤링 프로젝트

 

위 두가지 주제중에 첫 번째 프로젝트로 선정하였는데, 그 이유는 서로 어떤 공부를 하는지 체크하여 적절하게 다음 프로젝트에 녹여 낼 수 있도록 하는것과 서로의 일정을 공유함으로서 선의의 경쟁을 유도했다. 

 

 기능 

 

  1. 회원가입
  2. 스케줄 등록/삭제/수정
  3. 프로젝트 참여자 추가/삭제/수정
  4. 스케줄 조회

크게 4가지 기능을 바라보았다. 위 기능들을 선택한 이유중 학습을 목표로한 목적을 제외한 이유를 나열해 보겠다.

 

먼저, 앞으로 진행할 토이프로젝트는 특정 시기에는 서버를 열어 놓을 계획이다. 이유는, 우리의 토이프로젝트가 궁금해하는 사람들에 한해서 문서로만 볼 수 있지 않고 직접 들어와서 확인 할수 있도록 하는 목적이 있다. 따라서 회원가입은 회원가입을 한 사람들 중에 일정 관리에 대한 CRUD 권한이 있는 사람들과 조회만 할 수 있는 사람들을 구분하기 위한 목적에 있다. 

 

두 번째는 일정을 어떻게 한눈에 그리고 깔끔하게 보여줄 수 있을지 고민을 했다. 그리고 앞으로도 계속 이어질 고민이다. 지금 까지 나온 결론으로는 스케줄에 관해서 두가지 옵션으로 볼 수 있게 구성을 했다. 먼저 프로젝트 단위로 스케줄을 볼때는, 일주일동안 프로젝트안에서 특정 기능들을 구현한다고 했을때 그 프로젝트와 특정 기능들에 대한 일정들을 요일별로 표시를 해두고 참여자들이 얼마나 진행했는지 투명도로 표시할 계획이다.

 

프로젝트 단위 스케줄

간략하게나마 디자인 배치를 그려보았다. 그리고 오른쪽 위에있는 토글 버튼을 누르면 프로젝트 단위에서 유저 단위로 볼 수 있도록 바뀐다.

 

유저 단위로 스케줄을 봤을때는 프로젝트 단위와는 다르게 개인이 진행중인 일정들이 키워드로 나열된다. 예를들어 그 키워드들은 다음과 같다.

 

[ 블로그 포스팅 하기, BOJ 몇번 풀기, MVC패턴 공부하기, docker 실습하기 등등.. ] 

 

위와 같은 키워드들은 클릭하게 되면 조금더 세세하게 확인 할 수있다. 내용으로는 Todo, Progress, Done 등이 있겠다. 처음에 키워드를 등록할 때 Todo부분을 추려서 채워놓고 create한다. 그리고 progress를 거쳐 모든 todo가 done으로 바뀐다면 그 키워드는 close 되어진다.

 

유저 단위 스케줄

프로젝트 단위 스케줄과 동일하게 오른쪽위의 토글버튼을 누르면 유저 단위 스케줄에서 프로젝트 단위 스케줄로 바꿀 수 있게된다. 유저 단위 스케줄에서는 각 맴버들이 횡으로 나열된다. 그리고 종으로는 개인들이 등록한 스케줄 list를 볼 수있다. 그리고 close되어진 list들은 맴버들 왼쪽에있는 토글 버튼을 클릭해서 확인 가능하다. 마찬가지로 다시한번 누르면 기존 화면인 맴버별로 진행중인 스케줄 목록이 있는 화면으로 돌아올 수 있다.

 

일단은 이렇게 기능에 대한 틀을 잡아 놓았다. 앞으로는 기존의 틀에서 더 좋은 아이디어가 있다면 첨삭할 예정이다.

 

 다음 목표 

다음 목표는 디자인 패턴 구상 및 DB 테이블 구상이다. 앞서 말했다시피 MVC 패턴을 통한 구상을 할 예정이고 테에블 구성을 위한 ER 다이어그램을 구상해 볼 생각이다.