프로젝트 명인 ‘Log Share’는 자신이 한 활동을 기록(Log)하고 같은 그룹에 속한 사람들끼리 서로의 활동 기록을 공유(Share)할 수 있도록 해주는 웹사이트를 의미합니다. 본 프로젝트는 it 동아리인 ‘피로그래밍’에서 팀 프로젝트로 타학교 학생들과 함께 교류하면서 제작한 웹사이트입니다.
자신이 한 모든 활동이 인생 스펙이 되는 시대에 자신의 활동들을 일목요연하게 정리하고 남들과 다른 자신만의 포트폴리오를 만들고 싶은 사람들의 욕구가 늘어나고 있습니다. 하지만 로컬 컴퓨터에 저장하기에는 한눈에 내용이 정리되지 않고 블로그에 글로 정리해도 자신이 언제 무슨 활동을 했는지 바로 파악하기 어렵습니다. 앞으로 더 다양한 활동이 등장함에 따라 이들을 관리하는 웹서비스가 필요하다고 느꼈습니다.
활동 기록에 있어서 카테고리, 제목, 내용, 관련 url, 활동 기간, 대표 이미지, 태그, 추천점수를 작성할 수 있게 하였습니다. ‘Log Share’의 가장 큰 특징은 단순히 활동을 정리하는 것을 넘어서 같은 그룹에 속한 사람들끼리만 정보를 공유할 수 있는 장을 마련했다는 점입니다. 이는 양질의 정보가 다소 폐쇄적인 상황에서 공유된다는 사실에 기반합니다. 페이스북, 블로그 등 기존의 커뮤니티 서비스는 너무 방대하여 양질의 정보를 얻기 어렵습니다. 따라서 ‘Log Share’ 웹 서비스를 통해 같은 관심사를 가진 사람끼리 그룹을 맺고 함께 양질의 정보를 공유할 수 있도록 했습니다. 확실한 그룹 관리를 위해 임의의 사용자가 그룹에 가입하지 못하도록 패스워드를 통한 그룹 가입과 그룹 관리자를 명시하여 그룹 회원을 관리하는 기능을 넣었습니다. 또한 같은 그룹에 속한 회원들끼리 활동 제목, 카테고리, 활동 기간, 작성자를 기준으로 활동을 필터링할 수 있게 하였습니다. 자신의 포트폴리오를 손쉽게 정리하여 기업에 제출할 수 있도록 자신만의 프로필 생성 기능도 추가하였습니다. 타임라인 기능으로 기간별로 해당 사용자의 활동들을 한눈에 볼 수 있도록 구성했습니다. 이처럼 활동 기록, 활동 정리, 그룹 맺기, 활동 검색 등 다양한 기능을 통해 포트폴리오를 보다 효과적이고 손쉽게 정리하며 그룹 회원과 양질의 정보를 공유할 수 있도록 하는 웹사이트가 바로 'Log Share'입니다.
세부 내용
‘Log Share’는 웹 애플리케이션 프레임워크 중 Python의 Django를 사용하였습니다. 무한스크롤과 북마크 기능, 그룹 관리를 비동기적으로 구현하기 위해 ajax json를 활용하였습니다.
<서비스 아키텍처>
주요 기능은 main, accounts, group_management, myprofile, post, search 총 6가지로 구분할 수 있습니다.
(1) main 화면은 ‘Log Share’가 어떠한 서비스를 제공하는 웹사이트인지 임팩트있게 설명하는 화면으로 사용자의 회원가입을 독려합니다.
(2) accounts는 사용자 계정으로 로그인, 회원가입, 비밀번호 변경, 프로필 작성 기능을 제공합니다. 회원가입할 때 보안에 취약한 비밀번호는 방지하며 이메일도 해당 형식에 맞게 작성하도록 했습니다. 프로필 작성은 기본적인 자신의 정보를 입력하는 것으로 소속, 자기소개, 관심 태그, 사이트를 받도록 했습니다.
(3) group_management는 ‘Log Share’의 핵심 기능으로 그룹 생성과 삭제와 더불어 공개를 허용한 그룹들은 검색이 되도록 했으며 그룹 패스워드를 입력하여 그룹에 가입을 요청할 수 있도록 했습니다. 그룹의 원활한 관리를 위해 그룹 관리자 기능을 넣었는데 그룹 정보 변경, 회원 강제 탈퇴, 가입 요청 수락 및 거절을 구현했습니다. 가입 요청은 그룹 관리자인 경우 메인 화면에 빨간색으로 표시하여 가입 요청이 왔다는 사실을 시각적으로 보이도록 했습니다.
(4) myprofile는 사용자별 페이지를 자기소개, 활동 기록 타임라인, 활동 기록 리스트로 구성하였습니다. 활동 기간별 활동들을 시각적으로 보일 수 있도록 타임라인 api를 활용하여 타임라인을 구현했습니다. 다른 사용자의 활동을 스크랩(북마크)하는 기능을 비동기적으로 구현하여 관심있는 활동을 언제든지 볼 수 있게 했습니다.
(5) post는 활동기록 포스트를 작성, 수정, 삭제하는 기능으로 rateit.js(Rating plugin for jQuery)를 통해 별점을 매길 수 있도록 했습니다. 모든 포스트 리스트는 ajax json를 통해 무한 스크롤이 가능하며 맨 위로 올라가는 기능도 추가했습니다. (6) 마지막으로 search는 같은 그룹 내의 사람들이 활동기록을 검색하는 페이지로 포스트의 제목/내용, 태그, 작성자 중 선택해서 검색 가능하도록 했습니다. 이와 더불어 그룹, 포스트의 카테고리, 활동기간 필터를 적용할 수 있도록 했습니다.
기존 커뮤니티 웹사이트와 다른 점은 폐쇄적인 그룹 내에서 진실성 있는 정보를 공유할 수 있다는 점입니다. 또한 활동 페이지의 깔끔한 구성을 위해 댓글 기능을 제외하고 이메일로 소통할 수 있도록 했습니다. 댓글보다 이메일로 교류하는 것이 보다 양질의 정보가 공유될 것이라고 생각했기 때문입니다. 이번 프로젝트에서 가장 참고한 웹사이트는 ‘링크드인’이었습니다. 하지만 ‘링크드인’은 일반 커뮤니티 사이트처럼 일촌 맺기를 통해 해당 활동들을 연람하며 자신의 정보가 개방적으로 노출되어 있습니다. 모든 사람들에게 개방되는 거부감, 내가 인정하는 사람(그룹)들만 보이고 싶은 폐쇄성, 양질의 정보를 공유할 수 있는 진실성 등을 고려하여 현재의 ‘Log Share’ 웹사이트를 만들게 되었습니다. 기업에 자신의 포트폴리오를 제출하고 싶을 때 ‘Log Share’의 자신의 프로필 url를 보여주는 것만으로 남들과 차별화된 스펙을 선보일 수 있다는 점도 특별한 강점이라고 할 수 있습니다.
제가 맡은 역할은 프로필(실명, 대표 이미지, 소속, 자기소개, 링크 연결, 이메일 기능, 관심 태그)과 북마크 기능, 포스트 무한 스크롤 기능, 프로트엔드의 몇몇 부분을 담당하였습니다. 나머지 기능들은 타학교 학생들과 공정하게 나누어 일을 처리했습니다.
기대효과
활동의 폭이 더욱 넒어지고 이러한 활동에 대한 정보를 신속하게 캐치한 사람이 정보의 우위를 선점하는 시대가 되었습니다. 하지만 방대한 데이터로 인해 정보에 대한 신뢰성이 점점 불확실한 상황에서 자신이 필요한 정보만을 고르는데 상당한 시간과 비용이 듭니다. 앞으로 자신의 포트폴리오를 효과적으로 관리하고 싶은 사용자는 ‘Log Share’를 통해 자신의 포트폴리오를 차별화되게 만들 수 있으며 그룹 사람들과 공유하므로 신뢰성 있는 정보를 바로바로 확인할 수 있습니다. 활동 필터링 기능도 더 세분화하여 검색의 편의성을 가질 수 있습니다. 앞으로 ‘Log Share’가 더 발달된다면 단순히 포트폴리오를 작성하는 것을 넘어서 기업과 컨택하는 기회도 마련하여 기업과 사람을 연결하는 연결고리 역할을 할 수 있게 될 것입니다.