운동이 자산이 되는 Web3 피트니스 플랫폼
Frontend · Backend · Blockchain
몸짱토큰은 운동 인증, 커뮤니티 활동, 트레이너 클래스 예약을 XP와 ERC-20 토큰 보상으로 연결한 모바일 피트니스 서비스입니다.
운동을 단순히 기록하는 데서 끝내지 않고, 인증된 활동이 서비스 안의 성장과 보상으로 이어지도록 만들었습니다.
| Verification | Reward | Usage |
|---|---|---|
| 사진, 위치, 운동 기록으로 실제 운동 여부를 확인합니다. | 활동을 XP로 환산하고 레벨업 시 토큰을 지급합니다. | 토큰을 Q&A 보상과 트레이너 클래스 예약에 사용합니다. |
몸짱토큰의 흐름은 네 장면으로 이어집니다.
-
운동을 인증합니다
운동 사진을 올리거나, 현재 위치를 확인하거나, 외부 운동 기록을 제출합니다. -
활동이 XP로 쌓입니다
운동 인증뿐 아니라 게시글, 댓글 같은 커뮤니티 활동도 성장 지표에 반영됩니다. -
레벨이 오르면 토큰을 받습니다
XP가 기준을 넘으면 레벨이 오르고, 등록된 Web3 지갑으로 토큰이 지급됩니다. -
받은 토큰을 다시 사용합니다
Q&A 질문에 토큰을 예치하거나, 트레이너 클래스를 예약하는 데 사용할 수 있습니다.
| Workout Photo | Workout Location | Q&A |
|---|---|---|
| 운동 사진을 업로드해 인증합니다. | 지도에서 운동 장소를 확인합니다. | 질문과 답변 채택 흐름을 제공합니다. |
| Community | Marketplace User | Marketplace Trainer |
|---|---|---|
| 자유게시판에서 운동 정보를 나눕니다. | 사용자가 클래스를 탐색하고 예약합니다. | 트레이너가 클래스와 예약을 관리합니다. |
- 운동 인증: AI 사진 인증, 위치 체크인, 운동 기록 인증
- XP와 레벨: 출석, 운동 인증, 게시글, 댓글 활동을 XP로 환산
- 토큰 보상: 레벨업 시 사용자의 Web3 지갑으로 ERC-20 토큰 지급
- 커뮤니티: 자유게시판, Q&A, 질문 토큰 예치, 답변 채택 보상
- 마켓플레이스: 트레이너 클래스 등록, 예약, 승인, 취소, 정산
- 운영 기능: 관리자 페이지, 트랜잭션 복구, 운영자 검토, 모니터링
Mobile App
-> Spring Boot API
-> PostgreSQL/RDS + S3 + KMS + Secrets Manager
-> Web3 Provider + Optimism Smart Contracts
- Frontend: 모바일 화면, 운동 인증 입력, 커뮤니티/마켓플레이스 UX, 지갑 연동
- Backend: 인증, 도메인 정책, XP/레벨 보상, 예약/정산, Web3 실행 흐름
- Blockchain: ERC-20 토큰, Q&A escrow, Marketplace escrow, 서명 검증
- Infrastructure: AWS EC2, RDS, S3, KMS, Secrets Manager, CI/CD, 모니터링
| Repository | Role | Tech |
|---|---|---|
| MZTK-FE | 모바일 앱과 사용자 화면 | TypeScript, React Native |
| MZTK-BE | API 서버와 서비스 도메인 로직 | Java 21, Spring Boot, PostgreSQL |
| MZTK-BLOCKCHAIN | 토큰과 escrow 스마트 컨트랙트 | Solidity, Optimism |
기능 시연에 그치지 않도록 테스트 커버리지, 부하 테스트, CI/CD, 모니터링 흐름까지 함께 검증했습니다.
| Metric | Result |
|---|---|
| 100 VU 기준 p95 응답 시간 | 189 ms |
| Load/Endurance 테스트 5xx 에러율 | 0% |
| Breakpoint 테스트 임계점 | 약 300 VU |
| 60분 Endurance old-gen drift | +8% |
Web3 UX Design
블록체인 기능은 앱 사용 흐름을 크게 끊지 않도록 구성했습니다. 사용자는 승인 내용을 확인하고 서명하며, 복잡한 트랜잭션 전송과 가스비 처리는 서비스가 맡습니다.
| EIP-712 | EIP-7702 |
|---|---|
![]() |
![]() |
| 사용자가 어떤 내용에 서명하는지 확인할 수 있도록 구조화된 서명을 사용했습니다. | 사용자가 직접 가스비를 준비하지 않아도 블록체인 기능을 사용할 수 있도록 대납 실행 흐름을 적용했습니다. |
Hanyang University ERICA - Division of Computer Science
지도교수: 조성현 교수님
|
김규원 Frontend / Blockchain |
설호 Frontend |
박영웅 Frontend |
|
강래우 Backend |
박지우 Backend |
우동현 Backend |



