프로젝트
주제
블록체인 NFT 기술을 이용한 티켓 서비스 "똑켓"
기간
2023.02.20 ~ 2023.04.07 (6주)
역할
프론트엔드 파트를 맡은 이유는 글 아래에 있다.
- FrontEnd Developer (주)
- Infra engineer (부)
왜 NFT 인가??
NFT의 속성을 이용하여 티켓 사재기라고 말하는 티켓 암표 거래, 매크로 프로그램을 이용한 부정 티켓팅에 대한 이슈를 해결
NFT 기술을 적용하면 관람객이 예매한 각 티켓에 고유 인식 값이 부여돼 티켓의 출처를 추적할 수 있다.
NFT의 특성
영속성
나만의 티켓을 영구 저장 가능이 가능하다.
소유권 보장
고유한 티켓임을 증명하며 티켓의 위변조가 불가능하다. 계좌 당 1개로 거래가 제한된다.
거래 투명성
티켓 생성정보와 내역은 스마트컨트랙트에 기록되며 투명하게 공개된다.
개인 간 거래 제한
스마트 컨트랙트를 이용하여 티켓 예약이 진행되기 때문에, 사용자 간 개인 티켓 거래는 이루어질 수 없다.
핵심 기능
블록체인 결제 방식을 사용하는 티켓 예약 시스템
- 별도의 로그인이 필요하지 않다.
- MetaMask 지갑에 본인의 계정을 가지고 있으면, 기존의 결제 방식보다 간편하다.
티켓 지갑을 통해 나의 티켓들을 확인 가능
- 입장 시 QR 인증 시스템을 도입
- QR 생성 이후 캡처 방지를 위하여 15초 이후엔 QR 코드 유효성 만료.
티켓 보관함 기능
- 블록체인의 특성을 활용하여 공연이 끝난 티켓들을 영구적으로 소장할 수 있도록 함.
- 더 나아가 공연 후 공연에 대한 개인적인 감상을 기록할 수 있음.
- 티켓 구매자들에게 주최자 측의 공연 비하인드를 통한 감사의 말, 특전을 제공함
새롭게 프로젝트에 도입한 것
새로운 Jira 방식
지난 프로젝트에서 Jira를 사용하는 과정에서 일주일 40 Story Point, 하루 8 Point 채우기에 급급했었다.
하지만 이번 프로젝트부터는 월요일 스크럼 회의의 내용을 바탕으로 작업을 대 분류로 8 Point로 설정해 놓고
당일 스크럼 회의에서 정한 기능 개발이 필요한 부분은 즉각적으로 백로그에 추가하고 수정하며 진행하기로 하였다.
애자일 방식
위에서 언급했듯 애자일 방식을 도입하려고 한다. 이번 프로젝트부터 매주 [화, 금]을 N차 배포일로 정하고 스프린트가 끝날 때까지 작업해야 하는 내용을 정해놓고 스프린트가 마치면 배포를 하고 버전 업을 시키는 방향으로 프로젝트를 이끌어 나가기로 하였다.
추가로..
배포일에 배포 시, 배포된 서버에 치명적인 에러가 발생했을 경우는 운영 서버에 바로 hotfix 하는 작업을 통해 배포를 진행하였다.
테스트 서버를 따로 두지 않고 EC2 서버 단일로 진행하였기 때문이다. 실제로 실무에서는 운영 서버, 테스트 서버가 있다고 한다.
🍌워킹 회의
지난 프로젝트 때부터 이어 온 바나나 타임이라는 Rule이 있었다. 친한 동료들끼리 일정 시간에 모여 바나나를 먹으며 프로젝트 진행 상황을 공유하고 기술적인 문제를 같이 고민하는 시간이 있었다.
이번 프로젝트에 적용하여 6명의 팀원 다 같이 매일 15시 15분에 걸으면서 회의, 휴식을 취하는 "바나나 타임"을 가지기로 한다. (실제로 워킹 회의 방식이 좋다고 함!!
왜 인프라를 담당하지 않았는가??
나는 원래 DevOps 개발자로 성장하고 싶어 팀 내의 인프라를 담당하는 것이 맞지만, 동료 팀원이 스스로 CI/CD 구축을 해보고 내게 도움을 받으며 성장하고 싶다고 하여 메인 역할을 넘겨주었다. 주 역할은 FrontEnd, 서브 역할로 인프라를 맡으며 풀스택 개발자까지는 아니더라도 DevOps 개발자라면 FrontEnd 파트의 이해도 어느 정도 필요하다고 생각이 들었기 때문에 React에 도전한다.