감성천국

spring framework를 활용한 팀 프로젝트

개요


  • 기간 : 2015년 7월 ~ 8월
  • 인원 : 4명
  • 사용 기술 : spring framework, jsp, oracle, mybatis, bootstrap
  • 사용 도구 : Git, Trello, eclipse, SourceTree
  • 주요 기능 : 중복 태그 입력과 출력, 트위터 멘션

자바 학원을 다니면서 팀원들과 한달여 기단 동안 만든 프로젝트로 나는 핵심 기술 개발과 전반적인 사항들을 다루었다.

기획 의도

카테고리가 무분별하게 많은 사이트와는 달리 사람들에게 힐링이 되는 커뮤니티 사이트를 만들고자 하였고, 이를 통해 힘든 삶 속에서 힘을 얻고 에너지를 얻기를 희망하였다. 우리는 기존의 카테고리를 나누는 방식과는 달리 장소의 개념을 도입해서 어떠한 장소에서 이야기를 나누는 느낌을 주기를 원했고, 사람들이 많이 있는 장소를 몇가지 선정하였다. 그리고 그 속에서 태그를 통해 글을 분류하여 쓰고, 읽을 수 있도록 구성하였다.

진행 과정

각자 맡은 부분을 개발하고 git을 통해 소스 코드를 관리 하였다. 커맨드 사용법을 어려워 하는 팀원도 있어서 SourceTree를 이용하였으며, 일정 관리나 기타 자료 관리등 협업 관리 도구로 Trello를 이용하였다. 총 4주 동안 기획 1주, 개발 2주 ~ 4주로 진행 하였으며 개발 과정 동안에도 회의를 많이 하였다.

사이트 로드맵

메인

메인화면 메인화면

  • 다른 커뮤니티 사이트처럼 글 목록을 바로 보여주기보다 감성적인 느낌을 전달하기 위해 메인 화면을 구성했다.
  • 메인 화면에는 메인 페이지와 장소별 사진이 있어 클릭시 장소로 이동되며, 메인화면에서 로그인 시 광장으로 이동된다.

회원가입

회원가입 회원가입

  • 회원 가입 화면은 모니터 전체를 차지하는 페이지로 만들었으며 좀 더 감성적이고 명확한 정보입력의 느낌을 주었다.
  • 엔터 혹은 continue 클릭시 입력받을 다음 양식으로 화면이 슬라이드 되며 최종적으로 전체 양식을 보여주며 확인하고 가입이 마무리된다.
  • 가입 완료 후에는 광장 화면으로 이동된다.

광장

광장 광장

카테고리 카테고리

  • 광장은 각 장소에 해당하는 최신 글들이 10개씩 모여 있는 공간이다.
  • 장소를 클릭 시 해당 장소로 이동되며 글을 클릭 시 해당 글의 디테일 페이지로 이동된다.
  • 로그인 후 부터는 상단의 헤더가 생성된다.
    1. 자동차 버튼을 클릭하면 장소 목록을 보여주는 카테고리 화면이 띄워진다.
    2. 제목과 내용에 해당하는 글을 검색할 수 있다.
    3. 맨 우측 : 사용자 정보를 보며 로그아웃을 할 수 있다.

학교

힉교 학교

  • 여러가지 장소 중 학교이다.
  • 학교에 해당하는 글들이 보여지며, 기본적으로 최신글이 나타난다.
  • 상단의 태그 클릭시 태그에 해당하는 글들이 보여지며 중복 클릭이 가능하다.

글쓰기

글쓰기 글쓰기

  • 글쓰기 화면으로 제목과 내용만 텍스트로 입력받고 이미지는 입력받지 않는다.
  • 감성 중심의 순수 텍스트로 공감대를 형성하기 위함이다.
  • 위 화면은 태그마스터의 계급으로 로그인시 글쓰기 화면으로 태그를 생성할 수 있다.
  • 태그마스터가 아니면 기본적으로 제공이 되는 태그로만 중복선택하여 글을 작성할 수 있다.

글 내용

상세화면 내용화면

  • 게시글 클릭시 나타나는 글에 대한 상세 화면이다.
  • 제목과 태그, 내용, 댓글로 구성된다.
  • 태그는 작성자가 선택한 여러개의 태그들이 나타난다.
  • 사용자는 해당글에 대한 공감, 비공감 버튼을 한번만 누를 수 있으며 비공감이 일정비율 이상인 글은 유배지로 자동 이동된다.

기능

회원제

기본적으로 회원제로 운영이 되며 댓글을 달거나 공감버튼을 누를 경우 포인트가 쌓이며, 글을 작성하는데는 포인트가 소모된다. 글 작성에 포인트가 소모되게 하는 이유는 무분별한 글을 작성하는걸 방지하고, 글을 작성하는데 있어서 좀 더 고민하고 신중히 작성하길 바라는 마음이다.

장소

장소에 따른 커뮤니티 공간을 제공하는 것이 핵심이며 그 장소에 맞는 기본 태그를 제공한다.

  • 광장 - 다른 장소에 해당하는 글들을 최신순으로 10개씩 보여주는 공간
  • 카페 - 남녀노소 누구나 가벼운 대화를 나누는 공간
  • 선술집 - 술집에서 무거운 이야기나 고민을 이야기 할 수도 있다.
  • 학교 - 학생들의 공간
  • 옥탑방 - 자취하는 사람들의 공간
  • 군대 - 군인들이 머무는 공간
  • 방송국 - 유용한 정보들을 올릴 수 있는 공간
  • 노래방 - 노래를 공유할 수 있는 공간
  • 유배지 - 악성 글이나 신고가 많은 글이 있는 공간

태그

기본적인 태그는 우리가 지정한 장소에 맞는 태그가 제공이 되고, 회원 등급이 올라갈 경우 태그를 생성할 수 있는 권한이 주어진다. 태그는 여러 가지를 중복으로 선택하여 글을 작성할 수 있고, 장소에 따른 글을 볼 때에도 태그를 중복 클릭하여 태그에 맞는 글의 리스트를 불러올 수 있다.

공감, 비공감

공감, 비공감 버튼은 게시글 하나당 한 아이디로 한번만 누를 수 있으며, 비공감 횟수가 일정 비율 이상 많은 경우 자동으로 유배지로 글이 옮겨진다.

멘션

트위터의 멘션이나 페이스북 댓글과 비슷한 기능으로 글에 댓글을 달 때 @아이디 를 입력하여 해당 사용자에게 알림을 보낼 수 있다.

내가 구현한 기능

멘션, 공감, 태그등 핵심 기능과 전반적인 UI를 구현하였으며 프로젝트의 진행 사항을 총괄하였다. 사용자 관리는 팀원이 구현하고 전반적인 개발 과정은 모두 이해할 수 있게 회의를 하며 진행하였다.

마무리

장소에 따른 공간을 제공해 주는것이 핵심인데 디자인이 상당히 중요하지만 디자인 실력이 없어 전반적으로 미려한 사이트가 탄생할 수 없었다. 또한 사이트 운영에 대한 시스템 구축에 있어서 완성도가 떨어져서 아쉬움이 남는다. 팀 프로젝트를 하면서 팀원들과 맞추어 개발을 해 나아간다는게 쉽지 않은 일임을 경험했고, 효율적인 일의 분담이 중요하다는 걸 느꼈다. git 으로 merge 하는 과정에서 충돌이 많이 발생하고 사용 경험이 많지 않아 고생을 했었고, trello를 이용해보니 협업 관리 도구의 편리성을 몸소 체험할 수 있었다. 처음으로 여러 명과 같이 개발을 했는데 좌절도 하고 돌파구도 찾으며 팀원들과 친밀해질 수 있었던 즐거운 프로젝트였다 !!