2023년 토이프로젝트 - 젬픽커 기획

Karoid·2022년 12월 27일
0

Goal

  • Rust 프로그래밍 언어 학습
  • 약간의 재미를 위한 수익
  • 실제로 돌아가는 반응속도가 빠른 웹 서비스 개발

기획

Rust를 활용한 웹 프레임워크를 만들고, 이를 이용한 코인 트레이딩 봇을 만들자!

Development Stack

  • Backend Web Framework: Rocket
  • Frontend: Vanilla
  • Database: MongoDB
  • Trading loop: Rust program

핵심 목표인 Rust에 익숙해지기 위해, Frontend와 DB 관련 부분은 이미 알고 있는 지식을 기반으로 개발하기로 했다.
특히 DB 선정에 있어서 Rust의 속도를 맞춰야 하고 트레이딩 봇 특성상 실시간 읽기 쓰기 성능이 필요하기 때문에 전통적인 RDB 보다는 메모리로 성능 향상을 줄 수 있는 MongoDB를 선택하였다.
반은 Redis 적인 특면, 반은 RDB의 속성을 지닌 MongoDB가 이 토이프로젝트에 적합해보인다.

토이 프로젝트 명칭
GemPicker

단계별 목표

0단계. 계획 세우기

우선 실행하려면 어떻게 할지 계획부터 세워야 한다.
매주 얼만큼의 시간을 쓸지, 각 단계별 목표를 어떻게 설정할 지 정해야 한다.

  • 기획: 각 단계별 목표 설정하기
  • 기획: 단계별 소요 예상 시간 설정
  • 기획: 매주 사용할 시간 설정
  • 기획: 토이프로젝트 명칭 설정 (2022-12-28)
  • 개발 설계: 객체 설계 및 관계 정리
  • 개발 설계: Domain 설정

1단계. 코인 시세 정보 확인

Rust 프로그래밍 언어에 익숙해지고, 웹 프레임워크를 익히기 위한 단계이다. 이 단계에서 세부목표는 다음과 같다.

  • 웹 개발: 기본적인 개발 환경 세팅을 완료
  • 웹 개발: 로그인 인증 구현
  • 웹 개발: API 키 저장 페이지 개발
  • 웹 개발: 현재 자산 현황 표시
  • 트레이딩 봇: 코빗 API 처리 관련 모듈 개발 모듈 사이의 통신 설계
  • 트레이딩 봇: API를 이용하여 Cold Start시 히스토리 데이터 Follow Up 관련 로직 개발
  • 트레이딩 봇: WebSocket을 활용한 실시간 가격 정보 기록
  • 웹 개발: 기록된 가격 정보를 보여주는 그래프 출력

2단계. Classic Grid 전략 개발

Classic Grid 전략을 수행했을 때 과거 데이터를 기반으로 한 예상 수익을 보여주고, 실제로 트레이딩을 해볼 수 있는 페이지를 개발

  • 웹 개발: Classic Grid Form 개발
  • 작성중...

3단계. Custom 전략 개발

  • 작성중...
profile
Backend. Rails, MongoDB 강좌를 운영하고 있습니다

0개의 댓글