22.11.09 ~ 22.11.21 약 1주일 반. 프로젝트가 마무리 되었다.
하나의 서비스를 만들기 위해 5명의 팀원들과 일주일 반동안 같이 시간을 보냈는데 프로젝트가 끝날때 시원섭섭함이 몰려왔다. 나중에 이 글을 봤을 때 지금의 감정이 잊혀지지 않게 일기 형식으로 기록해보고자 한다.
22.11.09 첫 날 팀원들과 어색함 속에 서비스 기획을 했다. 여러가지 아이디어가 오고 가던 중, 내가 사람들이 진짜 이용할만한 서비스를 만들어보자고 제안했다. 사람들이 우리(초보 개발자) 서비스를 이용하기 위해서는 3가지 중 한가지를 충족해야 한다고 생각했다.
첫 번째는 개쩌는 아이디어, 기존에 없어서 사람들이 이용할 수 밖에 없는 서비스.
두 번째는 개쩌는 편의성, 기존에 있지만 너무 편리해서 사용하게 되는 서비스.
세 번째는 이벤트성, 시즌성 서비스, 사용자의 수요가 특정 시점에 몰리는 서비스.
그나마 가장 확률이 높은게 세 번째라고 생각했다. 희의끝에 크리스마스에 지인들과, 모르는 사람들이 우리 서비스를 이용할 수 있게 크리스마스용 커뮤니티를 만들자는 결론이 나왔다.
사전조사
서비스를 하기 위해 필요한 사전 조사와 분석을 했고, 주요 기능들을 나열했다. 크리스마스때 지인에게 메세지를 남길 수 있는 기능, 모임을 주최할 수 있는 기능, 실시간 데이트 채팅을 할 수 있는 기능들을 넣고자 했다.
ERD설계
우리 서비스에 맞는 ERD(모델설계)를 했다. 모닥불 서비스에서 app은 크게 5개로 Usercard(개인벽난로), GroupCard(단체벽난로), Meeting(모임), Notes(쪽지), Voice(문의사항)으로 나눠진다. 나는 여기서 Meeting쪽과 Notes쪽을 담당했다.
Model, View설계
대략적인 ERD를 작성하고 Model설계와 View 설계를 진행했다. 처음부터 완벽하게 계획한 건 아니고, 프로젝트를 진행하면서 계속해서 수정하고 덧입혔다.
Figma(화면설계)
다음으로는 Figma로 화면설계를 진행했다. 지금 생각해보면 화면설계대로 만들어진게 문의 페이지말고는 없는 것 같다.
데일리 스크럼도 작성하면서, 어제 어떤 것을 했는지, 오늘 어떤걸 할 건지 팀원들과 공유하면서 기능들을 추가해나갔다. 각 기능들은 PPT로 요약해놨다.
✅ 그룹 벽난로 기능
✅ 개인 벽난로 기능
개인 벽난로는 작년에 유행했던 크리스마스 트리처럼, 벽난로를 만들어 놓으면 다른 유저가 글을 남길 수 있는 기능이다. 마찬가지로 글을 작성할때 커스텀 할 수 있고, 글이 많이 달리면 메인페이지에서 노출 되도록했다. 또한 누군가가 벽난로에 글을 남기면 카톡 메세지로 알려주게끔 구현했다.
✅ 쇼핑 기능
쇼핑은 네이버 api를 끌고와서 가격순, 정확도순, 날짜순으로 비동기 검색 가능하다. 구매하러가기를 클릭하면 실제 구매사이트로 넘어가진다.
✅ 모임 기능
모임 기능과 쪽지 기능부터 내가 관여한 부분이다. 모임 메인페이지에서 지역별로 볼 수 있게 카테고리를 설정했고, 모임을 만드는 사람이 비밀번호 유무를 설정할 수 있어서 비밀번호를 설정할 시에는 좌물쇠 표시와 content 내용이 나오지 않게 했다. 방을 만든사람에게 쪽지를 보내서 비밀번호를 알아내게끔 유도했고, 비밀번호를 입력하고 방에 들어가면 참여버튼과 댓글을 작성할 수 있다. 참여버튼을 누르면 다음에 방에 입장할때에 비밀번호를 입력하지 않고도 들어올 수 있다. 또한 유저를 차단하는 기능도 넣었는데, 차단할 경우 그 유저가 만든 방들은 모두 필터링되어 보이지 않게 된다. Redis로 실시간 채팅도 넣어놨는데, 배포환경에서 django redis를 컨트롤 하는 방법을 전혀 모르겠어서 기능을 빼버렸다. 팀원분이 공들여 만든 기능인데 사용하지 못해서 아쉬웠다.
✅ 쪽지 기능
유저에게 쪽지를 보내면 받은 편지함과 보낸 편지함에서 확인이 가능하다. 유저 입장에서 상대방이 쪽지를 읽었는지 안읽었는지 확인시키기 위해서 상대방이 쪽지를 읽었을 때 읽음 처리가 되게끔 했다. 만약 쪽지의 내용이 불쾌한 내용이라면 유저이름을 차단을 할 수 있게 했다.
✅ 문의 기능
그 외에도 채널톡 API를 활용해서 실시간 문의가 가능하게끔했고, 홈페이지 내에서도 문의할 수 있게끔 했다.
📝 프로젝트 후 느낀점
프론트의 중요성을 알게됐다. 팀원 5명 모두 백엔드쪽이다 보니 모델쪽과 view.py를 잘 다뤄 생각했던 기능들을 대부분 구현하긴 했지만, 디자인적으로 아쉬운 부분들이 많았다. 디자인적으로, 그리고 화면 배치적으로도 아쉬운 부분들이 많다보니 아무리 기능이 좋아도 손이 잘 안 가는것이 사실이다.
게다가 모두 웹 화면으로만 프론트를 구현해놔서 화면크기가 달라진다던가 핸드폰으로 접속하게 되면 와장창 난리가 난다. 요즘에는 핸드폰의 화면크기가 각각 다 다르다보니까 그에따라 화면을 설계해서 보여줘야 하는데 나중에서야 깨달았다.
팀원들 중 한분의 실력이 넘사벽으로 좋았다. 덕분에 기능구현을 하다가 막힐때마다 도움을 받았고, 성공적으로 구현할 수 있었다. 그러면서 한편으로 든 생각은 현업에서도 이런 비슷한 경우들을 많이 마주치겠구나 생각이 들었다. 다음 새로운 프로젝트는 12월 14일까지 진행되는데 이전보다 더 완성된 서비스를 구현하도록 노력해야겠다.
언제까지 배포를 유지할지 모르겠지만, 배포한 사이트 주소는 아래에 있다. (컴퓨터로 들어가야 온전하게 볼 수있음 ㅎㅎ..)
http://kdt6team-env.eba-rmvmzut2.ap-northeast-2.elasticbeanstalk.com/
'프로젝트' 카테고리의 다른 글
예술작품 중개 서비스, NES(22.11.24 ~ 22.12.14) (2) | 2023.01.07 |
---|