backend

[Spring-Boot] 마니또 커뮤니티 서비스 회고 (1) - 개발 시작 전

leejin_rho 2024. 8. 16. 15:52

프로젝트 시작

참여 중인 부트캠프에서 한달간 ‘마니또 이벤트’를 시작했다.

 

그리고 ‘백엔드 기초’ 수업에서 처음으로 스프링 MVC 패턴에 대해 배우면서, 직접 tomcat을 설치하고 백엔드 기능을 처음으로 구현해보았다.

 

수업 마무리로 개인 미니 프로젝트 과제가 있었는데, 주제는 자유, 기간은 일주일이었다. 나는 이 프로젝트를 현재 진행중인 ‘마니토 이벤트’에서 활용할 수 있는 서비스로 제공하면 실 사용자를 얻기 더 좋겠다는 생각을 했다. 또한 멘토링에서 멘토님이 이야기해주신, 서비스 타겟층을 뾰족하게 잡아 개발해본 경험이 있다! 라는 말에서 영감을 얻어 나도 그러한 서비스를 개발해보고 싶다고 생각했다.

그래서 기획한 서비스가 ‘유레카 마니또 커뮤니티 서비스’인 ‘MANITO’이다.

 

기획 배경

기존에는 슬랙의 ‘마니또 게시판’에 마니또에게 받은 선물을 인증하는 글을 올렸다. 이 경우에는 무조건 실명으로 작성해야하기 때문에, 선물을 준 마니또는 글을 적기 어려웠다.

내가 적었던 인증 글

 

그리고 슬랙은 학습을 위한 공간으로 주로 쓰이고, 실명으로 작성된 글을 모두가 볼 수 있기(멘토님들까지…) 때문에 조금 더 공적이고 형식적인 말투의 글을 작성해야했다.

그래서 나는 이러한 글들을 자유롭게 적을 수 있는 분리된 공간이 있으면 좋지 않을까? 하는 생각을 하게 됐다. 그리고 실명이 아닌 익명으로 글을 작성한다면 더 자유롭게 글을 작성할 수 있고 ‘선물을 받은 마니띠 뿐만 아니라 선물을 준 마니또도 선물 인증 게시글을 작성’하는게 가능해질 것이라고 생각했다. 

 

이러한 생각에서 더 나아가서 내가 내 마니또에게 댓글을 작성할 수 있다면? 그리고 이를 댓글로 표시해주면 마니또를 추측하면서 더 즐겁게 서비스 이용이 가능할 것이라고 생각했다.

게시물 작성자의 마니또를 표시해주는 기능을 메인 기능으로 정하면서 프로젝트 기획을 완료했다.

 

DB 설계

프로젝트를 시작하기 전에, 과제 사항은 아니었지만 DB를 직접 설계해봐야겠다고 생각했다. 프로젝트를 기획하면서 테이블끼리 연계된 필드가 많아서 그냥 개발을 시작하면 코드가 엉망이 될 것 같았다. 학교 데이터베이스 수업 때 배웠던 내용을 더듬으며 설계해봤다.

이용한 tool은 ‘ERD cloud‘로, 백엔드 친구에게 추천받았다. 원래 협업에 용이한 tool인 것 같았는데, 개인 프로젝트였지만 한번 사용해봤다.

 

회원 테이블에는 간단하게 idx값과 아이디, 비밀번호, 그리고 사용자 이름마니또 이름을 만들었다.

커뮤니티 테이블은 각 포스트를 뜻하는 테이블로, 포스트의 idx값과 작성자의 user idx값, 그리고 포스트 제목, 내용, 좋아요 수, 사진, 등록 날짜/시간을 만들었다.

댓글 테이블은 각 포스트에 달린 댓글 테이블로, 댓글의 idx값과, 댓글 작성자의 user idx값, 작성의 댓글의 원래 포스트의 idx값, 그리고 댓글 내용인 msg, 등록 날짜/시간을 만들었다.

 

UI/UX 디자인

피그마를 이용해서 디자인했다. 그동안 해왔던 프로젝트 보면서 나름대로 참고해서 디자인해보았다. 하지만 정확한 디자인 규칙을 잘 몰라서 (픽셀 단위를 8의 배수로 한다던지…?) 와이어프레임없이 그냥 바로 디자인했다.

 

나름대로 색깔 디자인 시스템도 구축했는데, primary color는 LG 유플러스의 메인 색깔로 지정했다.

ColorSpace 사이트에서 primary color를 이용해 색깔 팔레트를 만들고, 거기에 필요한 색깔을 추가했다.

 

ColorSpace - Color Palettes Generator and Color Gradient Tool

Just Enter a Color! And Generate nice Color Palettes

mycolor.space

 

 

그리고 을 3개의 종류로 지정해 디자인해줬다. 에서는 본인이 작성한 글 목록과 함께 각 글에 대한 댓글 수를 확인할 수 있도록 했다. 이때 게시글 detail같은 경우에는 ‘에브리타임’ 애플리케이션을 참고했다. 상업적 서비스가 아니기 때문에 실제 이용되고 있는 서비스를 참고하는 것이 완성도를 높일 수 있을 것이라고 생각했다.

 

서비스의 기대효과

기존 게시물보다 훨씬 더 자유로운 분위기에서 글을 작성할 수 있기 때문에 더 솔직한 감상평을 남길 수 있을 것이다. 또한 부트캠프 특성상 다들 공부하고 취준하면서 분위기가 경직됐는데, 마니또 이벤트를 더욱 활성시키며 이러한 분위기를 완화시킬 수 있을 것이라고 생각했다.

 

특히 가장 중심 포인트인 댓글의 ‘마니또’ 표시를 통해, 본인의 마니또를 추측하고 마니띠에게 직접 소통할 수 있어, 서비스 이용자에게 재미를 줄 것이라고 추측했다.

 

 

현재는 실제 구현을 완료하였는데, 구현 과정은 다음 편에서 작성하겠다.