Skip to content

Latest commit

 

History

History
263 lines (185 loc) · 8.56 KB

README.md

File metadata and controls

263 lines (185 loc) · 8.56 KB

SAMALS

멸종 위기 동물 보호를 위한 NFT 거래 및 기부 플랫폼

Save the Animals, SAMALS

image

image

🕘 프로젝트 진행 기간

2022.08.22 ~ 2022.10.07 [7주]



🐮 Introduce

SAMALS는 멸종 위기 동물 보호를 위한 기부 및 NFT 거래 플랫폼입니다.
제작한 동물 일러스트를 PFP화하여 NFT로 민팅 후 판매하며,
판매 과정에서 발생한 수익은 WWF 등과 같은 동물 보호 단체에 기부하는 것을 목표로 하고 있습니다.


🏴 개발 환경


image

  • FrontEnd

    • react 17.0.2
    • react-dom 17.0.2
    • react-redux 8.0.4
    • react-modal 3.15.1
    • react al 1.2
    • web3 1.8.0
    • axios 0.27.2
    • @mui/material 5.10.4
    • @emotion/react 11.10.4
  • BackEnd

    • Spring Boot 2.7.2
    • Spring Data JPA
    • Spring Validation
    • Java 11
    • QueryDSL 5.0
    • Lombok 1.18.24
    • Firebase 8.x
    • Gradle 7.4.x
    • Swagger 3.x
  • DB

    • MySQL 8.0.29
  • CI/CD

    • AWS EC2
    • Docker
    • Jenkins
  • IDE

    • IntelliJ
    • MySQL Workbench 8.0
    • Jira
    • Git / Gitlab

🐮 서비스 목적

image image image

우리 주변에 있는 코리리와 코뿔소가 멸종위기동물이라는 사실 알고 계신가요? 저희 SAMALS는 멸종위기동물의 심각성을 알리기 위해 멸종 위기 등급을 NFT와 Unity 게임으로 유저에게 게이밍피케이션(게임+교육)으로 시작된 프로젝트입니다.


🦁 서비스 소개

HOME 화면

SAMALS를 NFT 프로젝트를 시작한 계기와 SAMALS의 목표 및 팀 소개로 이루어져 있습니다.
인터랙티브한 웹페이지 만들기위해 여러가지 동적 요소를 넣었습니다.



Market 화면

상점(중앙 서버)에서 판매하는 멸종 위기 동물의 등급이 낮은 NFT를 구매할 수 있습니다.



Trade 화면

image

기부를 하면 희귀한 NFT를 얻을 수 있는데 그것을 유저끼리 판매하는 공간입니다.
smart-contractor로 메타마스크에 로그인 후 유저가 소유한 NFT를 판매할 수 있습니다.
해당 NFT 최신 거래 내역과 가격 변동 그래프를 확인할 수 있습니다.



Donation 화면

멸종 위기 동물에게 기부할 수 있는 페이지입니다.
기부를 하면 랜덤으로 희귀한 NFT를 획득할 수 있습니다.



Mypage 화면

image

보유한 NFT와 trade에서 찜을 누른 nft를 확인할 수 있습니다.
또한 프로필 선호도와 자신의 기부한 금액과 평균 기부 금액을 그래프로 확인할 수 있습니다.



Game 화면

image

보유한 NFT를 자신의 마다가스카 섬에서 자유롭게 동물을 기르면서 유저끼리 섬을 방문할 수 있는 커뮤니케이션 공간입니다.
SAMALS의 마스코트인 토코투칸(큰 부리새)를 방향키로 조종하면서 섬을 탐험하고 동물을 관찰할 수 있습니다.




🐧 팀원 역할

팀장, Infra 부팀장, Frontend Frontend Solidity Backend Unity
이청 권성호 김채리 양요셉 이재환 한유빈

🐸 팀장 이청

  • Infra
  • 서버 API 개발
  • CI/CD 구축
  • web3 유저 거래 구현

🐶 부팀장 권성호 ⬅ ME 😊

  • Front-end
  • Market UI/UX
  • Market 동물 상세 페이지 구현
  • Trade 유저 거래 페이지 구현
  • Mypage 도감 및 프로필 구현
  • Rest Api 활용

🐨 팀원 김채리

  • Front-end
  • Home, 캐릭터 디자인
  • 기부 페이지 구현
  • Solidity 연결
  • Rest Api 활용

🦁 팀원 이재환

  • Back-end
  • 서버 api 구현
  • DB 관리
  • solidy 구축

🦉 팀원 양요셉

  • Back-end
  • web3 자체 네크워크 구축
  • solidity 구축

🐵 팀원 한유빈

  • Unity
  • 마다가스카 섬 구현


🧾 프로젝트 산출물


image image Contract 구조2



🧏‍♂️ 협업 환경


image image image

✅ 프로젝트는 6주간의 애자일(Agile) 방식으로 개발하였고 1주 단위로 스프린트(Sprint)를 진행하며 
매일 오전 9시와 오후 17시 30분에 스크럼(Scrum) 회의를 통해 프로젝트 관리를 진행하였습니다. 
(각 컨벤션 규칙 정리 : @Convention)
JIRA : 에픽, 스토리, 태스크, 이슈 일정 관리 
GIT(LAB)과 : 협업 및 형상 관리
Mattermost, Webex, Discord : 소통
Swagger : API 문서화
Notion : 문서화


🎆 주요 기능

image image image image image