Skip to content

dngyj/ToU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🖥️ SSAFY 9기 자율 프로젝트 : 블록체인 기반 유통 과정 기록 및 추적 서비스

🕰️ 프로젝트 기간

23.10.10 ~ 23.11.17(6주)


🧑‍🤝‍🧑 멤버 구성

팀원 역할
황윤영 팀장, 블록체인, BE, Data 적재, 발표
김동익 BE 리더, Fido2, Data 적재
김동현 부팀장, 블록체인 리더, BE, Data 적재
김정훈 FE, Infra 리더
이수연 FE 리더, 모바일 디자인
정동교 FE, Infra, 모바일 디자인

1️⃣ 기획 의도

원산지 표기에 대한 소비자 불신을 블록체인 도입으로 해결
생체인증 도입으로 전자거래 명세서 간소화
유통4.0 시대에 맞추어 유통 과정의 표준화

2️⃣ 서비스 소개

📌 주요 기능 : 소비자 유통 조회

  • 생산, 가공, 패키징, 판매 단계의 유통 과정 조회
  • 소비자의 GPS 위치와 판매지 위치의 거리를 측정하여 위·변조 가능성에 대한 경고 제공

📌 주요 기능 : 생체인증 서명을 활용한 전자거래명세서 생성

  • Fido2 생체인증을 통한 서명으로 전자거래명세서 서명
  • 전자거래 서명 절차의 간소화
  • 서명 권한이 있는 담당자의 명확한 구분 가능
  • 담당자의 블록체인에 저장된 정보의 신뢰성 보장

📌 주요 기능 : 블록체인에 재고 기록

  • 상품이 공정과정을 거친 공장의 위치와 상품 정보, 일시를 기록
  • 상품이 공정되는 데에 사용된 재료 재고의 번호를 기록하여 추적 구현

3️⃣ 아키텍처

시스템아키텍처


4️⃣ 기술 스택

Back-end

Front-end

BlockChain
Infra
Tools

5️⃣ ERD

ERD


6️⃣ API 명세

API명세


7️⃣ 서비스 화면

소비자화면

  • 수산물 유통 조회
    - 수산물의 생산, 가공, 패키징, 판매 단계의 유통 과정을 조회 할 수 있습니다.

모바일 화면

  • 생체인증 로그인
    • 아이디와 비밀번호를 입력하는 대신 등록한 생체인증으로 로그인 할 수 있습니다.

  • 거래명세서 생성
    • 거래명세서를 생성하고, 생체인증을 통해 서명할 수 있습니다.

  • 거래명세서 내역조회
    • 거래가 완료된 거래명세서의 내역을 조회 할 수 있습니다.

웹 화면

- 생체인증 로그인
FIDO2 기술을 활용한 생체인증 로그인 기능입니다.
지문, faceID, touchID 등을 사용할 수 있습니다.
- passkey 생성
로그인, 거래에 대한 서명을 위해 활용가능한 생체인증 passkey를 등록하는 화면입니다.

- 웹 대시보드
지점의 거래, 재고 현황, 스케쥴 등을 파악하는 메인 대시보드 입니다.
- 거래 명세서 생성
다른 업체와 거래를 위한 명세서를 생성합니다.
가지고 있는 재고를 등록하고 판매합니다.

- 거래명세서 목록조회
각 정렬 기준에 맞는 거래명세서의 목록을 가져옵니다.
- 거래명세서 상세조회
생성한 거래명세서를 상세조회하여 검토합니다.
pdf 파일로 변환할 수 있습니다.

블록체인 웹 대시보드

- 하이퍼렛저 대시보드
Hyperledger Explorer를 통해 fabric 네트워크 상태와 트랜잭션을 조회할 수 있습니다.

8️⃣ 프로젝트 폴더 구조

BackEnd

📦back
 ┗ 📂tou
 ┃ ┣ 📂gradle
 ┃ ┃ ┗ 📂wrapper
 ┃ ┣ 📂src
 ┃ ┃ ┣ 📂main
 ┃ ┃ ┃ ┣ 📂generated
 ┃ ┃ ┃ ┃ ┗ 📂com
 ┃ ┃ ┃ ┃ ┃ ┗ 📂welcome
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂tou
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂client
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂domain
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂statement
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂domain
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂stock
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂domain
 ┃ ┃ ┃ ┣ 📂java
 ┃ ┃ ┃ ┃ ┗ 📂com
 ┃ ┃ ┃ ┃ ┃ ┗ 📂welcome
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂tou
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂client
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂domain
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂request
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂response
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂common
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂exception
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂utils
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂config
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂consumer
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂security
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂config
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂jwt
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂filter
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂statement
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂domain
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂request
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂response
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂stock
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂domain
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂request
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂response
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂service
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂webauthn
 ┃ ┃ ┃ ┗ 📂resources
 ┃ ┃ ┗ 📂test
 ┃ ┃ ┃ ┗ 📂java
 ┃ ┃ ┃ ┃ ┗ 📂com
 ┃ ┃ ┃ ┃ ┃ ┗ 📂welcome
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂tou

FrontEnd

📦front
 ┣ 📂public
 ┃ ┣ 📂companyLogo
 ┣ 📂src
 ┃ ┣ 📂apis
 ┃ ┣ 📂assets
 ┃ ┃ ┣ 📂icons
 ┃ ┣ 📂commons
 ┃ ┃ ┣ 📂style
 ┃ ┃ ┃ ┣ 📂calendarStyle
 ┃ ┃ ┃ ┣ 📂mobileStyle
 ┃ ┃ ┃ ┗ 📂traderStyle
 ┃ ┣ 📂components
 ┃ ┃ ┣ 📂api
 ┃ ┃ ┣ 📂atoms
 ┃ ┃ ┃ ┣ 📂officer
 ┃ ┃ ┃ ┣ 📂shopper
 ┃ ┃ ┃ ┗ 📂trader
 ┃ ┃ ┣ 📂molecules
 ┃ ┃ ┃ ┗ 📂trader
 ┃ ┃ ┗ 📂organisms
 ┃ ┃ ┃ ┣ 📂officer
 ┃ ┃ ┃ ┣ 📂shopper
 ┃ ┃ ┃ ┗ 📂trader
 ┃ ┣ 📂pages
 ┃ ┃ ┣ 📂officer
 ┃ ┃ ┣ 📂shopper
 ┃ ┃ ┃ ┣ 📂css
 ┃ ┃ ┃ ┣ 📂images
 ┃ ┃ ┣ 📂trader
 ┃ ┣ 📂store
 ┃ ┣ 📂types

BlockChain

📦fabric-samples
 ┣ 📂asset-transfer-basic
 ┃ ┣ 📂application-gateway-java-tou
 ┃ ┃ ┣ 📂gradle
 ┃ ┃ ┃ ┗ 📂wrapper
 ┃ ┃ ┣ 📂src
 ┃ ┃ ┃ ┗ 📂main
 ┃ ┃ ┃ ┃ ┗ 📂java
 ┃ ┃ ┃ ┃ ┃ ┗ 📂com
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂ssafy
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂tou
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂common
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂utils
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂configuration
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂domain
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂requestDto
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂service
 ┃ ┣ 📂chaincode-java-tou
 ┃ ┃ ┣ 📂docker
 ┃ ┃ ┣ 📂gradle
 ┃ ┃ ┃ ┗ 📂wrapper
 ┃ ┃ ┣ 📂src
 ┃ ┃ ┃ ┣ 📂main
 ┃ ┃ ┃ ┃ ┗ 📂java
 ┃ ┃ ┃ ┃ ┃ ┗ 📂org
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂hyperledger
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂fabric
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂samples
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂assettransfer
 ┃ ┃ ┃ ┗ 📂test
 ┃ ┃ ┃ ┃ ┗ 📂java
 ┃ ┃ ┃ ┃ ┃ ┗ 📂org
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂hyperledger
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂fabric
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂samples
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂assettransfer
 ┣ 📂test-network-tou
 ┃ ┣ 📂addOrg3
 ┃ ┃ ┣ 📂compose
 ┃ ┃ ┃ ┣ 📂docker
 ┃ ┃ ┃ ┃ ┣ 📂peercfg
 ┃ ┃ ┃ ┣ 📂podman
 ┃ ┃ ┃ ┃ ┣ 📂peercfg
 ┃ ┃ ┣ 📂fabric-ca
 ┃ ┃ ┃ ┣ 📂org3
 ┃ ┣ 📂compose
 ┃ ┃ ┣ 📂docker
 ┃ ┃ ┃ ┣ 📂peercfg
 ┃ ┃ ┣ 📂podman
 ┃ ┃ ┃ ┣ 📂peercfg
 ┃ ┣ 📂configtx
 ┃ ┣ 📂explorer
 ┃ ┃ ┣ 📂connection-profile
 ┃ ┃ ┣ 📂organizations
 ┃ ┃ ┃ ┣ 📂cryptogen
 ┃ ┃ ┃ ┣ 📂fabric-ca
 ┃ ┃ ┃ ┃ ┣ 📂ordererOrg
 ┃ ┃ ┃ ┃ ┃ ┣ 📂msp
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂keystore
 ┃ ┃ ┃ ┃ ┣ 📂org1
 ┃ ┃ ┃ ┃ ┃ ┣ 📂msp
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂keystore
 ┃ ┃ ┃ ┃ ┣ 📂org2
 ┃ ┃ ┃ ┃ ┃ ┣ 📂msp
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂keystore
 ┃ ┃ ┃ ┣ 📂ordererOrganizations
 ┃ ┃ ┃ ┃ ┗ 📂example.com
 ┃ ┃ ┃ ┃ ┃ ┣ 📂msp
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂cacerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂keystore
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂signcerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂tlscacerts
 ┃ ┃ ┃ ┃ ┃ ┣ 📂orderers
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂orderer.example.com
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂msp
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂cacerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂keystore
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂signcerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂tlscacerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂tls
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂keystore
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂signcerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂tlscacerts
 ┃ ┃ ┃ ┃ ┃ ┣ 📂tlsca
 ┃ ┃ ┃ ┃ ┃ ┣ 📂users
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂[email protected]
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂msp
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂cacerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂keystore
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂signcerts
 ┃ ┃ ┃ ┣ 📂peerOrganizations
 ┃ ┃ ┃ ┃ ┣ 📂org1.example.com
 ┃ ┃ ┃ ┃ ┃ ┣ 📂ca
 ┃ ┃ ┃ ┃ ┃ ┣ 📂msp
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂cacerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂keystore
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂signcerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂tlscacerts
 ┃ ┃ ┃ ┃ ┃ ┣ 📂peers
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂peer0.org1.example.com
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂msp
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂cacerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂keystore
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂signcerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂tls
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂keystore
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂signcerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂tlscacerts
 ┃ ┃ ┃ ┃ ┃ ┣ 📂tlsca
 ┃ ┃ ┃ ┃ ┃ ┣ 📂users
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂[email protected]
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂msp
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂cacerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂keystore
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂signcerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂[email protected]
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂msp
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂cacerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂keystore
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂signcerts
 ┃ ┃ ┃ ┃ ┗ 📂org2.example.com
 ┃ ┃ ┃ ┃ ┃ ┣ 📂ca
 ┃ ┃ ┃ ┃ ┃ ┣ 📂msp
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂cacerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂keystore
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂signcerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂tlscacerts
 ┃ ┃ ┃ ┃ ┃ ┣ 📂peers
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂peer0.org2.example.com
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂msp
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂cacerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂keystore
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂signcerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂tls
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂keystore
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂signcerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂tlscacerts
 ┃ ┃ ┃ ┃ ┃ ┣ 📂tlsca
 ┃ ┃ ┃ ┃ ┃ ┣ 📂users
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂[email protected]
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂msp
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂cacerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂keystore
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂signcerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂[email protected]
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂msp
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂cacerts
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂keystore
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂signcerts
 ┃ ┣ 📂organizations
 ┃ ┃ ┣ 📂cryptogen
 ┃ ┃ ┣ 📂fabric-ca
 ┃ ┣ 📂scripts
 ┃ ┃ ┣ 📂org3-scripts

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published