Skip to content

codestates-beb/BEB-08-second-TokenInside

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

header


Stacks

Front-End :

Back-End :

Smart Contracts :


Team Notion

Web3 Incentivized Community Project

Web3 커뮤니티 활동을 하면 토큰을 주는 형식으로 프로젝트.

게시글을 작성하면 ERC-20 토큰 TKI를 받으며, 이 토큰을 활용해 NFT를 민팅 할 수 있고 토큰을 타인에게 전송도 가능합니다.

Team members

이름 역할 GitHub
김영주 Team Leader, Back-end , Smart Contract DreamBoysYJ
김지환 Design, Front-end, Smart Contract jihwankim255
김상우 Back-end keepgoing2021
서학용 Front-end, Smart Contract shypang
이태훈 Back-end, Smart Contract bloud411

Diagram

Flow chart

스크린샷 2023-03-24 오후 1 36 29

DB Schema

스크린샷 2023-03-24 오후 1 36 29

Functions

Header

스크린샷 2023-03-24 오후 1 36 29

  • Logo : 홈 페이지으로 이동합니다.
  • Mint NFT : NFT 민팅 페이지로 이동합니다.
  • Write : 게시글 작성 페이지로 이동합니다.
  • ETH Faucet : 0.1ETH를 지급 받습니다.
  • Mypage : 마이 페이지로 이동합니다.
  • Logout : 로그아웃 됩니다.

로그아웃 시

  • Login : 로그인 페이지로 이동합니다.
  • 회원가입 : 회원가입 페이지로 이동합니다.

Home Page

  • Infinite Scroll 구현
  • 게시글을 위부터 생성된 시간이 빠른 순으로 확인할 수 있습니다.

Join Page

  • 비밀번호 : 8자 이상 대문자, 특수문자가 포함되어야만 합니다.
  • DB에 동일한 닉네임이 없고, 비밀번호가 일치한다면 DB에 정보를 저장합니다.
  • bcrypt: 원본이 아닌 해싱한 비밀번호를 DB에 저장합니다.
  • 사용자의 비밀번호를 통해 web3로 지갑을 생성하고 DB에 저장합니다.
  • 회원가입에 성공할시 알림 메시지를 띄우고, 로그인 페이지로 이동합니다.

Login Page

  • DB에서 동일한 닉네임을 찾습니다.
  • 입력한 비밀번호를 bcrypt를 이용해 DB의 해싱한 비밀번호와 비교합니다.
  • 입력한 정보가 맞다면 로그인하고, 홈페이지로 이동합니다.

ETH Faucet

  • 서버 계정인 가나슈 0번째 계정에서 0.1ETH를 로그인한 사용자에 전송합니다.
  • DB에서 user 정보를 업데이트 합니다.(eth_amount 0.1 증가)

Write Page

  • 게시글 작성시 ERC-20 토큰 1개를 사용자 주소로 지급합니다.
  • DB에 post, user 정보를 업데이트 합니다. (post 생성 / user 토큰 증가)
  • 작성에 성공하면 홈페이지에서 해당 글을 확인할 수 있습니다.

Detail Page

  • 홈페이지에서 게시글들을 불러올 때 DB에서 post의 모든 정보를 불러옵니다.
  • 그 중 post의 id를 props로 전달하고, 클릭시 params에 해당 id를 전달해 검색합니다.

NFT Mint Page

  • 로컬 컴퓨터에서 이미지를 불러옵니다.
  • 해당 이미지는 ipfs에 업로드되고, ipfs url을 전달받아 서버에 전달합니다.
  • 블록체인 네트워크(가나슈)에 트랜잭션을 실행하고, DB에서 nft를 저장합니다.

My Page

Top Section : 로그인한 user의 정보를 확인합니다.

  • 나의 nft : 내가 민팅한 nft들을 확인합니다.

Middle Section

  • 나의 nft : 내가 민팅한 nft들을 확인합니다.

  • 내가 쓴 글 : 내가 작성한 게시글들을 확인합니다.


  • 송금 : 글쓰기 보상으로 획득한 ERC-20 토큰을 다른 주소로 송금할 수 있습니다.

Releases

No releases published

Packages

No packages published