블록체인 지갑 만들기(2023.05.31 ~ 2023.07.18, 7주)

2023. 8. 26. 19:14프로젝트/후기

목차
1. 프로젝트 소개
2. 개발과정
3. 프로젝트 결과
4. 후기

 

1. 프로젝트 소개

 

프로젝트명은 NFTIn 으로 블록체인 네트워크의 암호화폐와 NFT를 담고 거래할 수 있는 어플을 목표로 했다.

 

 

2. 개발과정

 

학원에서 진행하는 마지막 프로젝트로 이전에 진행했던 프로젝트들 보다 체계적으로 진행되었다.

 

 

작업관리와 일정관리에는 Notion, Trello, Figma를 이용했다.

 

Notion, Trello

 

Figma

매일 아침 회의를 진행하고 기록했다.

 

초기에는 코드를 작성하지않고 초기 설정에 2주 정도를 할애했다.

 

같이 프로젝트를 진행하는 다른 팀(NFT 마켓팀)과 연동해야해서 서로 많은 의견을 주고받고

 

진행상황을 공유했다.

 

초기 설정에는 필요 기능 정의, 라우터 설정, 디렉토리 구조, Ci / CD 세팅, 작업 규칙 정하기, UI 디자인 등등을 진행했다.

 

비용상의 문제로 테스트 서버와 메인 서버를 나눠서 진행했다.

 

배포

 

각자 업로드한 코드는 테스트 브랜치에 합치고, 테스트 브랜치는 테스트 서버에 CI / CD를 진행한다.

 

테스트 서버에서 이상이 없으면, 메인 브랜치에 코드를 업로드하여 메인 서버에 업로드 하도록 했다.

 

메인 서버는 Code Deploy를 통해서 무중단 배포를 진행한다.

 

무중단 배포

 

위와 같이 진행하여 무사히 프로젝트를 마쳤다.

 

 

3. 프로젝트 결과

 

https://nftin.site/

 

NFTin

 

nftin.site

 

https://github.com/100space/wallet

 

GitHub - 100space/wallet

Contribute to 100space/wallet development by creating an account on GitHub.

github.com

 

블록체인의 기본기능이 있는 지갑을 만들었으며 Expo로 빌드해서 휴대폰에서도 사용할 수 있도록 했다.

 

 

 

 

4. 후기

 

매번 프로젝트를 진행할 때마다 아쉬운 점이 많다.

 

시간상의 문제로 구현하지 못하거나 포기해야했던 기능들이 있다.

 

에러가 발생했음에도 고칠 시간이 부족해서 지나간것들이 아쉬웠고,

 

리액트로 개발을 하다보니 렌더링 횟수를 많이 줄이고 싶었는데 useMemo나 useCallback 등을 제대로 사용하지 못해서 아쉬웠다.

 

 

이번에는 비용문제로 여러가지를 맞딱드렸는데 그래도 나름 슬기롭게 해결한 것 같다.

 

API를 사용하는데 무료버전에서는 분당 횟수가 제한이 있었다.

 

다수의 사용자가 요청을 하게되면 API를 사용할 수 없었다.

 

그래서 생각해낸 방법은 사용자가 사용할 경우 API 서버에 요청을 하지않고 우리가 만든 백서버에 요청을 하도록 했다.

 

백서버에서는 주기적으로 API를 사용해 받아온 데이터를 DB 서버에 업데이트 및 저장을 했고,

 

사용자가 데이터를 이용하려하면 API에서 데이터를 받아오지않고 백서버와 DB서버를 이용할 수 있도록했다.

 

 

저번 프로젝트에서 발표에 대한 아쉬움이 있었는데,

 

지난번에 했던 문제점들을 생각하며 발표를 준비했다.

 

말이 빨라지는 문제와 듣는사람은 어떻게 내 설명을 받아들일지 생각하면서 발표했다.

 

조금더 잘 할  수 있었을 거라는 아쉬움과 동시에 발전했다는 뿌듯함도 함꼐했다.

 

앞으로는 시간이 된다면 개인적으로 해결하지 못했던 문제들을 해결할 수 있는 사이드 프로젝트를 해보고 싶다.