동물의 숲을 여행하는 주민들을 위한 복합 문화센터
배포 사이트 http://k02a4031.p.ssafy.io/
프로젝트 개요 상세보기
- 동물의 숲 게임의 인기가 연일 상승세
- 동물의 숲 게임 이용 정보와 커뮤니티를 찾는 유저 또한 증가 추세
- 2020년 전세계에서 가장 많이 트윗된 게임 1위.
- 게임 커뮤니티에서 동물의 숲에 대해 소통하고자 하는 사람들 증가 (게임 타이틀 1300만개 이상 팔림)
-
나무위키: 게임 공략을 보고 싶은 사람들이 이용
-
네이버 카페 / DC인사이드: 게임을 함께 이용하는 사람들과 커뮤니케이션
-
정리: 이를 통해, 정보와 커뮤니티 서비스를 한 곳에서 제공하는 사이트를 착안
-
종류 장점 단점 나무위키 회원가입 절차 불필요
자세한 정보 제공정보 검색이 불편
가독성 떨어짐네이버 카페 WTAC 큰 규모(많은 회원)
정보 공유 활발가입해야 정보 열람 가능
게시판에 의존적DC인사이드 갤러리 글 65만개
회원가입 절차 불필요게시판에 의존적
- 더 많은 플레이어와 소통할 수 있는 공간 제공
- 원하는 정보를 쉽게 얻을 수 있는 공간 제공
- 커뮤니티 성장
- 글로벌 서비스로 성장
- 지속적 업데이트를 통한 서비스 성장
현실에선 불가능 했지만 동물의 숲에서 자신이 원하는 대로, 자유롭게 구현하는 방법(정보)을 제공하고, 함께 서비스를 이용하는 유저들과의 소통(커뮤니티)이 가능한 플랫폼을 제공함으로써 건강한 게임 이용 생태계 조성
- 미술품, 꽃, 물고기, 곤충, 주민 등 도감 서비스 제공
- 동물의 숲 유저들의 소통 공간(거래, 친목) 구현
- 사이트를 이용하려고 유입되는 유저들에게 지속적 광고 노출
- 서비스 유지를 위한 안정적 수익 확보
개발 계획 상세보기
내용 | 담당자 |
---|---|
프로젝트 기획 | 팀원 전체 |
시장 분석 및 목표 설정 | 이설유, 윤성민 |
개발 계획 수립 | 김강현 |
프로젝트 요구사항 정의 | 임우섭 |
프로젝트 아키텍처 구성 | 백민주 |
내용 | 담당자 |
---|---|
개발 환경 구성 - 백엔드 | 백민주, 윤성민 |
개발 환경 구성 - 프론트엔드 | 이설유, 임우섭, 김강현 |
개발: 백엔드 / DB 스키마 | 백민주, 윤성민 |
개발: Vue Component 구성 | 이설유, 임우섭, 김강현 |
내용 | 담당자 |
---|---|
크롤링 및 데이터 DB 정리 | 백민주, 윤성민 |
Vuejs 베이스 기능 구현 | 이설유, 임우섭, 김강현 |
내용 | 담당자 |
---|---|
회원관리 및 회원용 서비스-back | 백민주 |
회원관리 및 회원용 서비스-front | 임우섭 |
DB가공 및 관리 | 윤성민 |
물고기/그림/꽃 페이지 구성 | 이설유 |
커뮤니티 기능 구성 | 김강현 |
내용 | 담당자 |
---|---|
Back-end 추가 기능 작업 | 백민주, 윤성민 |
Front-end 추가 기능 작업 | 이설유, 임우섭, 김강현 |
내용 | 담당자 |
---|---|
전체 페이지 기능 보수 | 백민주, 윤성민 |
디자인 작업 진행 | 이설유, 임우섭, 김강현 |
UCC에 필요한 요소들 준비 | 팀원 전체 |
내용 | 담당자 |
---|---|
완성된 사이트 리뷰 | 백민주 |
개선 사항 추가 개발 작업 진행 | 윤성민 |
통합 테스트 및 검토 | 이설유 |
발표자료 준비 및 발표연습 | 임우섭 |
사이트 런칭과 서버관리 | 김강현 |
UCC제작 | 팀원 전체 |
요구사항 정의 상세보기
- 유저 관리(ip이용)
- 물고기, 곤충 조회(도감 및 박물관 채우기용)
- 그림 및 화석 조회(박물관 채우기 용)
- 꽃 교배정보 조회(꾸미기 용)
- 커뮤니티 기능 - 거래, 자랑, 친구찾기 커뮤니티
Req ID | 요구사항 명 | 설명 |
---|---|---|
Req 1 | 유저 관리:man: | - 관리자: 서비스를 관리한다. - 방문자: 고유 ip를 통해 랜덤 닉네임을 부여 받는다. |
방문자 서비스 | (커뮤니티: 고유 ip로 닉네임 형성 해야 함) - 거래 - 자랑 - 친구 찾기 - 기타 (정보) - 물고기 - 곤충 - 화석 - 미술품 - 꽃 |
|
유저 DB | 유지 관리에 필요한 최소 정보는 필수로 포함 - 방문자 ip (CharField) (자동입력, 랜덤 닉네임 형성에 사용) - 비밀번호 (CharField) - 악성유저 여부 (IntField) |
|
Req 2 | 물고기 조회:fish: | 크롤링을 통해 가져온 물고기 정보를 보기 편한 UI로 디자인 |
곤충 조회:beetle: | 크롤링을 통해 가져온 곤충 정보를 보기 편한 UI로 디자인 | |
물고기 DB | 물고기 데이터베이스 테이블 만들기 - 물고기 이름 (CharField) - 포획 가능 달 (IntField) - 포획 가능 시간대 (CharField) - 포획 장소 (CharField) - 포획 난이도 (IntField) |
|
곤충 DB | 곤충 데이터베이스 테이블 만들기 - 곤충 이름 (CharField) - 포획 가능 달 (CharField) - 포획 가능 시간 대 (CharField) |
|
주민정보 DB | - 주민 이름 - 주민 영어이름 - 주민 성별 - 주민 생일 - 주민 성격 - 주민 종류(개 고양이 등) |
|
Req 3 | 그림 조회:art: | - 미술관을 구성할 수 있는 특정 그림 수집 방법 소개 - 진품/가품 구분 기준 제공 |
그림 DB | 그림 데이터베이스 테이블 만들기 - 그림 제목 (CharField) - 진품 그림 설명 (TextField) - 가품 그림 설명 (TextField) - 구분 방법 (TextField) |
|
Req 4 | 꽃 교배:cherry_blossom: | 가져온 꽃 정보를 기반으로 보기 편한 UI로 제공 - 교배 방법 - 교배 시 나오는 꽃의 종류 - 특정 꽃을 얻는 방법 - 시뮬레이션 기능: 시간이 남으면 도전해볼 것 |
꽃 DB | 꽃 데이터베이스 테이블 만들기 - 꽃 이름 (CharField) - 꽃 그림 (CharField) - 꽃 종류 (CharField) - 꽃 색깔 (CharField or IntField) - 꽃 세대 (CharField, 교배 여부) |
|
Req 5 | 커뮤니티 거래:currency_exchange: |
회원을 위한 동물의숲 커뮤니티 (1) 회원은 거래 커뮤니티에서 본인이 원하는 재화를 얻기 위해 다른 유저와 소통한다. |
주요 기능 | - 글 작성 - 댓글 작성 - 좋아요 기능 없음 - 판매자와 수요자 간 1:1 통신 채널 구현 (채팅) - 글 작성자를 누르면 서로 채팅 가능하게 |
|
Req 6 | 커뮤니티 자랑:mega: |
회원을 위한 동물의 숲 커뮤니티 (2) 내 섬의 컨텐츠를 단순히 자랑만 할 수 있는 게시판 |
주요 기능 | - 글 작성 - 댓글 작성 가능 - 좋아요 기능 있음 - 게임 내 컨텐츠 캡처 이미지 업로드 기능 구현 필수 (Firebase) - (필요시 네이버 텍스트 에디터 오픈소스 사용해서 구현) |
|
Req 7 | 커뮤니티:couple: | 회원을 위한 동물의 숲 커뮤니티 (3) |
주요 기능 | - 동물의 숲 유저 글쓰기 | |
Req 8 | 커뮤니티 DB | ** CRUD 기능 제공 ** - 게시글 카테고리 (IntField): 거래, 자랑, 친구 - 게시글 제목 (CharField) - 게시글 내용 (TextField) - 작성자 (CharField): 고유 ip로 형성된 랜덤 닉네임 - 이미지 (CharField): Firebase 이미지 URL - 비밀번호 (CharField): 게시글 작성 시마다 입력 - 작성 시간 (DateTimeField, auto_now_add=True) - 수정 시간 (DateTimeField, auto_add=True) - 댓글 (CharField) - 게시글 좋아요 기능 (ManyToManyField) |
Req 9 | 서비스 UX/UI 커스터마이징 | - Web: 동물의 숲 컨셉 + 싸이월드 감성 - Mobile: 프로그레시브웹앱(PWA) |
- 도감을 통해 동물의 숲에서 수집 요소인 물고기, 나비, 화석, 그림(진품과 가품 구별), 주민 정보를 확인할 수 있습니다.
- 각 수집품 이름과 주민 성격으로 검색을 해 쉽게 정보를 얻을 수 있습니다. 특히 주민의 경우 주민의 성격은 영입의 큰 요소이기에 검색 가능하도록 했습니다.
- 도감 중 미술품 정보를 통해 진품과 가품을 쉽게 구분할 수 있습니다.
- 한 미술품 정보를 클릭하면 이에 대한 큰 사진과 진품과 가품의 차이 Text를 보여주어 쉽게 구분 가능하도록 합니다.
- 미술품 정보를 통해 사용자가 진품을 여울에게 구입해 박물관에 전시할 수 있도록 돕습니다.
-
무계산기로 이번주 나의 무트코인 가격을 입력하여 남은 기간의 가격을 예측할 수 있습니다.
-
ac-turnip, turnip-prophet 등 유명 무계산기 코드를 분석하여 상승형, 하락형, 진동형, 급변형 4가지의 패턴 중 사용자에게 가장 일어날 확률이 높은 패턴을 예측하여 제공합니다.
-
이번주에 입력한 값을 다시 입력할 필요가 없습니다. 웹사이트에 저장이 되기 때문이죠.
-
화요일 오후까지 입력을 하고 목요일에 새로 정보가 나오면 수요일 오전, 오후와 목요일 오전만 입력하면 그래프 결과를 얻을 수 있습니다.
- 모든 값을 다시 입력하고싶다면, 초기화를 누르시면 됩니다.
- 거래소에서 이웃, 미술품, 화석 그 밖에 기타 아이템들을 사고팔 수 있습니다.
- 글쓰기에서 거래할 아이템을 선택하고 원하는 가격을 제시할 수 있습니다.
- 댓글을 통해 거래를 원하는 다른 사용자들과 소통할 수 있습니다.
- 마이페이지에서는 자신이
자랑게시판
에 작성한 글,거래소
에 작성한 거래글을 한 번에 확인할 수 있습니다. - 캐릭터는 하루에 한 번만 바꿀 수 있도록 재밌는 기능을 추가했습니다.
이름 | 느낀점 |
---|---|
김강현 |
좋은 팀원들과 함께할 수 있어서 영광이었습니다. 지금까지 저희가 배우고 익혔건 기술을 최대한 사용해서 생각보다 많은 기능을 구현할 수 있었습니다. 중간에 일정 변동이 있어서 당황스러웠지만, 팀원들이 정말 열심히 해준 덕분에 완성도 높은 웹사이트를 구현할 수 있었습니다. 동물의숲 주민을이 너무 귀여워서 프로젝트 내내 재미있어서 좋았습니다. |
백민주 |
처음으로 팀장을 하면서 그 무게를 느꼈습니다. Django를 메인 프레임워크로 이용하며 그 사용법을 자세히 익히게 되었습니다. 사용자 요청에 따른 permission / allow 부분을 잘 설정해야 함을 알게 되었습니다. 마지막 일주일 정도는 프론트엔드 작업을 나누어서 했는데, 프론트에서 처리해야 할 일이 너무 많아서 팀 모두가 고생을 좀 했습니다. 생각보다 짧아진 일정에도 불구하고 마지막 날 디버깅을 불태워 프로젝트를 잘 마무리할 수 있었습니다. |
윤성민 |
오랜만에 django와 vue를 하면서 그동안 공부해왔던 것을 복습해보는 좋은 시간이 되었습니다. 또한 배포를 맡아, 선뜻 해보지 못했던 리눅스 환경에서 작업을 해보았습니다. 이번 프로젝트를 진행하면서 그동안 해보지 못한 백엔드, AWS 배포를 경험해볼 수 있어 저에게 좋은 경험이 되었습니다. |
이설유 |
모두모동을 만들며 개발자로서의 비전을 구체적으로 키울 수 있었고 훌륭한 개발자가 되고자 하는 의지가 너무 확고해져 버렸다. 🐾 개발 과정에서 여러 차례 몰입하는 과정을 느낄 수 있어서 좋았다. 모두모동 덕분에 즐거웠다. 🙂 |
임우섭 |
게임에서 등장하는 아기자기한 캐릭터와 설유 누나가 만든 고퀄리티의 페이지 디자인을 보며 즐겁게 개발을 했습니다. 처음에 생각했던 페이지 내 게임 기능이나 모바일 최적화를 위한 PWA를 시간 관계상 만들지 못해서 아쉬웠습니다. 프로젝트 마감 전날 열심히 디버깅한 덕분에 에러가 없는 페이지를 만들 수 있었던 것 같습니다. |