klaytn-hackathon / BLOCERY

BLOCERY- A pre-purchase based freshfood commerce
2 stars 1 forks source link

dApp

https://play.google.com/store/apps/details?id=com.blocery (for Android)

http://blocery.com (for iPhone)

FrontEnd (react.js)

  1. npm 설치. https://nodejs.org/en/ ⇒ LTS버전 설치

  2. npm install: package.json수정시 및 최초구동시 /react-frontend폴더 밑에서 $ npm install (필요 library들 다운로드 . node_modules폴더로)

  3. npm start: 실행- /react-frontend$ npm start ==> loalhost:3000으로 자동접속 (가끔 빌드가 필요하면 $npm run build)

  4. UI: bootstrap4의 react버전인 reactstrap을 적용테스트 중. 링크의 우측메뉴에서 예쁜 Component골라서 쓰기 - http://reactstrap.github.io/components/navbar/

BackEnd (springBoot)

  1. JDK1.8 설치

  2. IntelliJ에 Lombok plugin설치 (Lombok은 java class의 setter/getter를 자동으로 생성해주는 plugin)

    • (Preference세팅메뉴) 의 plugins 서브메뉴에서 Lombok plugin 검색설치
    • (Preference세팅메뉴) compiler->annotation processor에서 Enable Annotation Processor선택
  3. 실행법 :

    • Run Configuration에서 ChainApplication골라서 실행 (하고나면 우측상단에서 버튼실행도 가능)
    • 혹은 좌측Tree에서 ChainApplication골라서 context Menu로 실행
    • 혹은 터미널에서 "gradle bootRun" 커맨드로 실행

    => 실행되면 SPRING 로고가 크게 보이면서 tomcat으로 http://localhost:8080 에서 backend서비스가 됨.

SmartContract (solidity /truffle)

  1. 설치

  2. truffle 업그레이드

    • \$sudo npm uninstall -g truffle
    • \$sudo npm install -g truffle

    truffle 폴더에서

    • \$rm -rf node_modules
    • \$npm instal
  3. 실행

    • (/truffle폴더 밑에서) $ truffle compile 로 컴파일해서
    • (/truffle폴더 밑에서) $ truffle migrate (--reset) 으로 deploy.
  4. truffle test

    • \$sudo npm install -g ganache-cli
    • \$ ganache-cli -p 7545 -l 100000000 (가나쉬 구동)

    => sol개발 완료 및 compile 후에, build/contracts 밑에 xxContract.json파일이 생성되면, 이파일을 /react-frontend/public 밑으로 복사해서 dApp개발.

폰용dApp (react-native /userPhone)