항해99 클론코딩 주차가 끝나고 실전 프로젝트를 진행하게 됐다. 6주 동안 진행되는 만큼 기획에 많은 신경을 써야 했다. 기획 회의는 주말에만 진행되었고, 많은 아이디어를 제시하고 의견을 나누었다. 결국, 카카오톡 투표를 통해 최종 결정을 내리기로 했고, 투표 결과는 다음과 같다.
카카오톡 투표 아이디어 (중복 가능)
- 프로그래밍 퀴즈 프로젝트 | 1명
- 데이트 코스 프로젝트 | 2명
- 유기견 관련 프로젝트 | 6명
- 협업 툴 (일정, 계획 관련 B2B) | 1명
유기견 관련 프로젝트가 인기를 끌었던 이유는, 우리 팀은 수익보다는 공익적인 아이디어를 우선적으로 고려하고자 했기 때문이다. 또한 공공 API를 활용하여 유기 동물의 실종과 분양에 대한 정보를 제공할 수 있다는 점도 있었고, 최근 코로나 19로 인해 1인 가구 수가 증가하면서 반려 동물을 기르는 가구도 많아졌기 때문이다. 하지만 코로나 19가 종료된 이후에도 유기 동물 문제는 여전히 심각하게 존재한다. 그래서 우리 팀은 사용자가 참여해 유기 동물을 구하고, 자신의 반려 동물을 잃어버렸다면 실종 신고를 할 수 있으며, 입양을 권장하는 프로젝트를 기획하게 되었다.
3주 간의 계획 (MVP)
항해99에서는 3주안에 MVP가 구현된 프로젝트를 완성해야했다. 하지만 기획을 오랜시간 했던 만큼 우리가 원하는 기능이 너무 많았다. 따라서 우리는 MVP와 관련하여 필수적으로 필요한 기능들의 우선 순위를 매겼다.
기능 구현 우선순위
기능 구현 우선순위는 1순위, 1.5순위, 3순위로 나누어 구분해두었다. 1.5순위는 2순위보다 우선으로 해야할 것으로 꼭 구현하고 싶은 기능이다.
아래는 회의를 통해 정한 기능 구현의 순위이다.
⚒️ 공통 기능 # 기능구현 1순위
회원 정보와 관련된 기능
- 회원가입, 로그인, 회원 정보 수정, 회원 탈퇴 기능 # 기능구현 2순위
→ 로그인은 추가적으로 소셜 로그인 기능 사용 (카카오, 네이버 등등..) # 기능구현 1순위
- 마이페이지 기능
→ 내가 등록한 게시물을 조회, 관심 게시글을 스크랩(스크랩은 최초 1회 때 마이페이지 위치를 사용자에게 알려줍니다. ) # 기능구현 1순위
- 게시물을 작성 합니다. (게시물을 어떻게 작성할지의 상세 정보는 아래에 있습니다.
이 동물 있어요
, 우리 개 찾아주세요 또는 입양해주실 분
) # 기능구현 1순위
- 게시물에 댓글을 작성할 수 있고, 글쓴이가 원한다면 실시간 채팅도 할 수 있습니다. # 기능구현 1순위
이 동물 있어요
, 우리 개 찾아주세요 또는 입양해주실 분 (유기견 발견)
신고 # 기능구현 2순위
→ 다른 사용자가 봤을 때, 이미 문제가 해결이 되었거나, 5회이상 신고가 되었다면 해결의심과 같이 게시물의 상태를 알려줍니다.
→ 신고를 많이 받은 사용자는 “해적”(임시로 정했습니다.) 태그가 붙습니다.
→ 중요한건 관리자가 바로 삭제 할 수 있도록 하지만 여러번 쌓이면 임시로 차단해 놓고 관리자가 검토할 수 있게 (예를 들어, 사진이 흐리다는 이유로 10회이상 신고들어오면 임시로 안보이게 하고, 동시에 관리자에게 검토리스트에 올려서 확인하라고 알려줌)
→ 당근 마켓 온도, 네이버 지식in 점수와 같이 사용자의 매너 온도를 체크할 수 있습니다. (사용되는 정보는 신고 횟수 등..)`
⚒️ API(유기 동물 정보 제공)를 활용한 입양 정보 제공 # 기능구현 1순위
- 동물의 사진과 동물의 정보, 보호기관과 관련된 정보에 대해서 조회할 수 있고 보호 기관과의 전화번호를 제공해주어서 입양을 할 수 있도록 도와줄 수 있다. # 기능구현 1순위
- API에서 동물이 구조된 장소와 보호되고 있는 기관의 장소에 대해서 위치 정보를 받을 수 있기 때문에 Kakao Map API를 사용해서 위치를 찍어줄 수 있다. # 기능구현 1순위
- 관심 동물 스크랩
⚒️ 이 동물 있어요 (유기견 발견) # 기능구현 1.5순위
- 유기 반려 동물로 의심되는 동물(또는 도움이 필요해 보이는 반려 동물)을 사용자가 발견하면 사용자가 사진을 찍고, 위치 기반 서비스를 사용하여 게시물을 올릴 수 있다.
- 올린 게시물을 다른 사용자가 조회할 수 있고, 목적은 밥을 주거나, 주인을 찾아주거나, 분양을 하거나. → 사진만 보면 개인이 알아서 판단을 할 수 있다고 가정합니다.
- 다른 사용자가 올린 사진을 조회할 수 있고, 만약 같은 동물로 의심되는 유기 반려 동물이 발견 됐다면 엮어서 올릴 수 있음.
- 유기 반려 동물의
사진
, 위치
, 대략적인 설명
, 게시자
를 익명으로 할지, 유저 정보를 기입할 지 선택할 수 있다. 이를 정하는 이유는 유기 반려 동물이 있다고 신고는 할 수 있어도 실시간 채팅으로 소통은 하고 싶지 않을 수도 있기 때문에 이를 올리는 게시물이 설정하는 것이 좋을 것 같습니다.
- 다른 사용자가 봤을 때, 이미 유기견이 없다고 판단되고나 해당 문제가 해결 된 경우에는 신고기능을 통해 게시물을 삭제 할 수 있어야 합니다.
→ 신고를 하되, 5회 이상 있으면 (해결의 의심된다고 관리자가 알 수 있게) 신고를 해주는 시스템
- 게시물은 50일 뒤 자동으로 사라집니다. # 기능구현 3순위
⚒️ 우리 개 찾아주세요 또는 입양해주실 분 (유기견 실종 및 입양) # 기능구현 1.5순위
- 사용자가 잃어버린 반려 동물이 있다면 실종된 반려 동물의
사진
, 대략적인 위치
, 반려 동물에 대한 정보와 설명
, 게시자 의 정보
를 올리고 게시자 정보는 필수로 해주어야 합니다.
- 게시물을 올리기도 하고, 게시물을 올렸다면 보통 반려 동물을 찾습니다. 와 같이 포스터를 만들어서 붙이게 되는데 이를 간편하게 바로 위의 정보를 토대로 A4 포멧을 제공하고 그 안에
QR코드
(안된다면 링크라도)를 제공해서 바로 반려동물을 잃어버린 사용자와 실시간 채팅이나 게시글에 연결 될 수 있도록 합니다.
- 또한 잃어버린 사용자가 원한다면 사례금을 추가해 줄 수도 있습니다.
- 사용자가 찾았다면 후기 작성해보기
- 예시 이미지
⚒️ 고도화 관련 # 기능구현 3순위
- 비속어 필터기능(닉네임 우선 적용)
- 게시글, 댓글 삭제시 사용자에게 임시 비노출 후(soft delete),
개인정보 보호법 관련하여 일정기간 후에는 DB에서도 완전히 삭제되도록 처리
- 게시글 간 링크 기능 활성화
- 신고자 관리 페이지
- 등급업 심사 페이지
- 신고 누적되면 해적은 프사 해적프사로(or default로)
- 회원가입시, 카카오계정과 동일한 이메일로 가입했을 때 예외처리
내가 맡은 기능
위에 따라서 내가 맡은 기능들은
1. 회원가입, 카카오톡 회원가입 및 마이페이지 조회
2. 공공 API를 사용해 보호되고 있는 유기 동물 정보 조회 및 상세조회
3. 웹소켓을 활용한 채팅기능
4. 실종 동물이 발생했을 때, 포스터를 제작하는 기능
5. 웹 사이트 배포
회고
기획을 정말 오래해서 피곤한 감도 있었지만 반드시 필요한 부분이라고 생각했다. 항해99에서는 매번 1주일 단위로 프로젝트를 진행했었는데 실전 프로젝트만큼은 6주간 진행하는 것이기 때문에 기획부터 탄탄해야한다고 생각했기 때문이다. 프론트엔드 2명, 백엔드 4명이라 잘 진행할 수 있을지 모르겠지만 그만큼 더 열심히 해야할 것 같다.