2018.06~2018.07, with 팀원 3명
개요
2018 멋쟁이 사자처럼 해커톤에 나가면서 출품했던 프로젝트이다.
주제는 해외 한인들의 커뮤니티 사이트를 만드는 것이었다.
기본적인 커뮤니티로써의 기능들을 담고자 했다.
포함한 기능은 크게 2 가지이다.
회원 기능
: 기본적인 회원관리, 프로필, 쪽지 주고 받기, 알람 기능 등
게시글 기능
: 카테고리별 게시글, 이미지 업로드, WYSIWYG 에디터, 실시간 인기게시글, 게시글 검색, 실시간 검색어, 댓글과 대댓글, 좋아요와 싫어요 등
구현
백엔드(Ruby On Rails, AWS 서비스)
: 윤신O, 이시O
프론트엔드(HTML, CSS, JavaScript)
: 김정O, 홍연O
나는 기본적인 백엔드 기능의 전반을 팀원과 같이 맡았다. 카테고리별 게시글, WYSIWYG 에디터 기능이나 실시간 인기 게시글, 게시글 검색, 실시간 검색어 등을 맡아서 진행했는데 기능이 조금 난잡하게 많은 이유는 다양한 기능들을 겪어보고 싶었던 욕심도 컸다. 그래서 많은 기능들을 접해보며 부딪혀보고 많이 배울 수 있는 기회였다.
처음 복수전공을 결심하고 오랜 기간 투자하며 해온 프로젝트라 애정도 컸고 고생도 많았었다. 많은 성장을 할 수 있게 해준 프로젝트였다. 퀄리티가 좋다고는 말할 수 없지만 나름 애정이 있는 프로젝트이다.
카테고리별 게시글 모델링 어떻게?
게시글 컬럼에 category를 추가하여 이 값으로 카테고리를 구분했다. 그래서 특정 게시판에 들어가면 해당 category값을 고유적으로 할당하여 그 category 값들만 filter를 통해 가져오도록 구현하였다. 당시에는 검색해봐야겠다는 생각보다도 생각나는 대로 구현해보는 편이었던 것 같다. 지금이라면 이렇게 구현하진 않았을 것 같다.
쪽지 기능 구현
쪽지 모델을 만들고 컬럼에 보내는 사람과 받는 사람을 구분하여 이를 통해 메일함의 받는 메일함, 보낸 메일함 처럼 구현하였다. 조금 단순하고 무식한 방법이지만 당시에는 원하는대로 기능이 동작했다는 것에 신기해했었다.
실시간 인기게시글, 실시간 검색어?
어떻게 보면 정말 어렵고 중요한 포인트였는데, 이것도 조금 단순무식하게 구현했다. 실시간 인기게시글 같은 경우 view count를 통해 게시글들을 정렬하여 인기순으로 특정 개수를 가져와 구현하였다. 그리고 가장 충격적인 실시간 검색어 기능의 경우에는 검색을 할 때마다 검색어 모델을 가져온다(만약 검색어 모델이 없을 경우 생성한다). 그리고 검색할 때마다 count를 증가시켜 이 count에 따라 정렬하여 실시간 검색어를 갱신하는 방식이다. 흠.. 충격적이다. 다른 검색 1000번 하면 1000개의 로우를 생성한다. 당연히 실제로 쓰일 수 없는 방식이다(네이버는 어떻게 이 기능을 구현하고 있는지 궁금해 많이 찾아봤는데 안나온다...ㅠ).
완성
https://github.com/YoonShinWoong/WhereRU
https://www.youtube.com/watch?v=GevAa0LmnF0
'내 이야기 > 프로젝트' 카테고리의 다른 글
점심 메뉴 추천 챗봇(Google Dialogflow 엔진) (2) | 2020.11.24 |
---|---|
교내 스터디룸 예약 시스템 (13) | 2020.11.24 |
로그 추적 시스템(연구과제) (2) | 2020.11.24 |
학교 웹 동아리 홈페이지 (0) | 2020.11.24 |
어린이집 안전 종합 플랫폼 (0) | 2020.11.24 |