Skip to content

codestates-beb/BEB-06-BERMUDA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BEB-06-SECOND-06

WEBTOON COMMUNITY

1. 배경

  • 웹툰을 좋아하는 세명이 팀이 되어, 인센티브 기반 웹툰 커뮤니티 개발 계획 시작
  • 웹툰 최강자전 리그 中 결승전의 시점을 배경으로 삼고 있음

2. 구현 기능

  • 회원가입, 로그인, 마이페이지
  • 좋아하는 웹툰에 투표
  • 승리를 예상하는 웹툰에 배팅
  • 결승전 웹툰에 관해 논의할 수 있는 채팅
  • 좋아하는 웹툰 작가님의 그림을 NFT로 민팅

3. 토큰노믹스

  • 토큰 보상 : 배팅에서 승리, 회원가입, 투표, 채팅
  • 토큰 소각 : 배팅에서 패배, 좋아하는 웹툰 작가님의 그림을 NFT로 민팅

USE STACK

CSS3 React React Router Redux JavaScript Axios Express.js MySQL NodeJS Solidity Notion GitHub

HOW TO USE

1. .env.example 형식을 토대로 .env 파일을 생성

2. mysql 실행

$ mysql -u root -p

3. 가나슈 실행 (default가 7545인 가나슈 gui 사용 추천)

cli 사용시
$ npm install -g ganache-cli
$ ganache-cli -d --port 7545

4. client 실행

/client $ npm start

5. server 실행

/server $ npm start

FILE DESCRIPTION - SERVER

server / abi / Abi, Abi721 : ERC20과 ERC721의 스마트컨트랙트를 ABI 형식으로 치환해 객체형식으로 저장

. / controller / index.js : 각종 라우터 기능 포함

. / model / CreateDatabase : DB와 테이블을 생성할 수 있는 파일. 서버쪽을 노드로 돌리면 자동으로 실행

. / ... / getNftData : DB에 저장된 사용자의 NFT 데이터 BE2FE 연결

. / ... / GetSignUpData : 회원가입 할때 사용, 회원가입시 각종 에러 리턴

. / services / CreateWallet : web3를 이용해서 지갑생성

. / ... / Login : 로그인시 사용 nft 테이블과 조인해서 nft데이터를 함께 리턴

. / ... / sendToken : 서버계정에서 타 지갑으로 ERC20 토큰 전송

. / ... / sendTokenU2S : 유저지갑에서 서버지갑으로 ERC20 토큰 전송

. / ... / tokenUse/Bet : 승리를 예상하는 팀에게 배팅할 수 있게 하는 기능. input에 값을 넣고 배팅버튼을 누르면 개인 지갑에 있던 토큰을 서버로 전송

. / ... / ... / Comment : 응원하는 사람들끼리 실시간 채팅을 하는 기능. 채팅을 치면 데이터베이스에 저장이 되고 데이터베이스에 있는 내용을 불러옴

. / ... / ... / faucet : 연결된 서버계정에서 사용자에게 전송. BE2FE 연결

. / ... / ... / minting : Nft 메타데이터 DB에 저장. user 의 지갑으로 erc20 토큰 지불 후 민팅

. / ... / ... / vote : 원하는 팀에 투표 및 투표집계를 위해 DB에 저장

. / ... / ... / WinBet : 배팅 승리시 1.8배의 토큰을 지급, 무승부면 배팅 금액 그대로 반환, 패배시 토큰 소각

FILE DESCRIPTION - CLIENT

/ client / src / App :각 페이지 별로 라우팅

. / components / Hedaer : 페이지 상단 고정되어있는 상단바

. / ... / ImgSlider : 메인페이지 중단에 있는 이미지 슬라이드

. / ... / Signup : 회원가입 팝업창

. / Pages / League : 웹툰끼리 투표해서 순위를 가리는 페이지

. / ... / MainPage : 웹페이지 접속시 나타나는 첫 페이지

. / ... / Mint : 팬아트를 민팅하는 페이지

. / ... / MyPage : 보유하고 있는 토큰 nft를 확인 할 수 있는 마이페이지

. / ... / SignIn : 로그인 페이지 , 회원가입 가능

. / ... / league_sub / RoundOf2 : 웹툰 대항전 결승

. / reducers / index : 리덕스 저장소

. / ... / reduce : 리덕스 제어

. / resources / App.css : 모든 css 제어

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •