프로젝트 개요 :
- 크립토 대시보드 앱 개발
현재 준비 상황 :
- 피그마로
진행 계획 :
- 피그마로 화면 기획 및 디자인 제공해 드립니다.
필요 요소 :
- 모바일 앱 개발
- 백엔드 개발
개발환경/언어/방식 :
- Flutter
- Android, iOS
1. 프로젝트 오버뷰
- 본 프로젝트는 크립토 애셋의 마켓 정보를 모아서 볼 수 있는 ‘크립토 대시보드' 앱입니다. 플러터로 iOS/안드로이드 앱을 개발합니다. 가장 중요한 개념은 ‘왓치리스트'인데 (음악 스트리밍의 플레이리스트와 유사한 개념), 개별 사용자가 여러 개의 왓치리스트를 사용할 수 있으며, 각 왓치리스트에 여러 개의 크립토 자산을 등록해 마켓 정보를 볼 수 있습니다.
- 크립토 애셋은 크게 3가지입니다.
Coin - 비트코인, 이더리움과 같은 fungible 토큰입니다.
Collection - NFT의 컬렉션입니다. (예, BAYC)
NFT - NFT 개별 오브젝트입니다. (예, BAYC의 특정 NFT)
- 전체 디자인이 피그마 (첨부 파일에 링크 존재)로 작업 완료되어 있고, 플러터 쿠퍼티노 디자인으로 작업하려 합니다.
- 전체크립토 애셋에 대한 백엔드 작업은, 외주 업무의 스콥이 아니고, 별도의 개발자가 작업 중입니다.
2. 모듈 설명 - 외주 업무는 5개의 모듈로 구성되고 (1-5), 추가로 2개의 모듈은 내부에서 플러터 개발이 될 예정입니다. (6-7)
[O 프로젝트 스콥인 아닌 부분]
1) Account Setting - 사용자 계정 설정
2) Global Setting - 앱 사용 설정
3) Customize Watchlist - 왓치리스트에서 크립토자산이 표시되는 방식을 유저의 취향에 맞게 변경합니다.
4) Watchlist Main - 메인 사용 페이지입니다. 왓치리스트에 등록된 자산의 마켓 정보를 봅니다. Watchlist 내 자산이 표시되는 정렬순서를 바꿀 수 있고, Watchlist 간의 이동이 가능합니다.
5) Add Assets - 왓치리스트에 애셋을 추가합니다.
[X 프로젝트 스콥이 아닌 부분]
6) Asset Summary - 개별 자산 상세 페이지입니다. 4번에서 애셋을 클릭하면, 이쪽으로 연결이 됩니다.
7) Search - 통합검색.
2. 백엔드
[O 프로젝트 스콥인 부분] : 유저 / 앱 사용 설정 정보 (Alert, 공지사항 등), 그리고 왓치리스트 CRUD, 왓치리스트 애셋 CRUD, 등 해당 모듈의 동작에 필요한 백엔드 작업은 스콥에 포함됩니다. 페이지별 상단에 검은 상자에 백엔드 작업 노트들이 붙어 있습니다. 작업된 디비 스키마 추후 간단히 정리 부탁드립니다.
[X 프로젝트 스콥이 아닌 부분] : 크립토 마켓 정보는 별도로 작업이 되고 있고 (예, 거래소 정보를 가져와서 내부 서버에 쌓는 작업), 여기 정의된 내부 서버 API 문서 (클릭)를 참고해서 가져와서 바로 사용해 주시면 됩니다. *Alert을 트리거하는 부분은 저희 백엔드 개발자가 트리거할 예정이지만, 백엔드 서버가 Firebase FCM을 트리거하는 부분을 안내해 주시는 작업까지는 스콥에 포함됩니다.
3. 계정 정보
본 서비스는 유저의 명시적 계정생성/로그인 절차가 없이, 유저의 디바이스 아이디 (필드명 “DeviceID”) (<a href="https://pub.dev/packages/platform_device_id" target="_blank">https://pub.dev/packages/platform_device_id</a> 또는 다른 모듈 추천 바람)를 통해 유저 데이터를 자동으로 서버가 기록하고 관리합니다.
즉, 동일 기기에서 설치 사용 -> 앱 삭제 -> 다시 설치 사용할 경우, 사용하던 정보를 그대로 사용 가능합니다.
4. 그 외
쿠퍼티노 디자인 / 플러터 최신 버전 (3.3.10 선호)으로 개발 부탁드립니다
Customize Watchlist 쪽은 기술명세서 상에 최대한 설명을 하였으나, 저희가 화상회의로 설명을 드리면 도움이 될 것으로 보입니다.
로고 필요 : log를 쌓을 내부 서버를 별도로 준비해서 업데이트하겠습니다. 키 액션들에 대한 raw log를 쌓을 예정입니다.
산출물 :
- 개발 원본 소스코드
비밀 댓글입니다.