Skip to content

PNU CSE 2023 Capstone 'TayoTayo - Shared Mobility Service on Hyperledger Fabric and Hyperledger Indy' Repository

License

Notifications You must be signed in to change notification settings

pnucse-capstone/capstone-2023-1-42

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Commit 기록은 해당 링크들 참고해주세요. 

BE Commit 기록

BE Commit 기록

FE Commit 기록

TayoTayo (타요타요)

1. 프로젝트 소개

본 과제에서는 스마트 시티에서 시민들 간에 개인 모빌리티를 공유할 수 있는 P2P 방식의 공유 모빌리티 서비스를 개발하고자 한다.
DID를 통한 차량 검증으로 개인이 차량의 정보를 관리하는 주체가 되도록 하고, 허가형 블록체인으로 검증된 차량만 거래에 참여할 수 있으며 내부에서만 모든 거래 정보가 투명하게 공개되는 안전한 거래 시스템을 설계한다.


2. 팀소개

2023 전기 부산대학교 정보컴퓨터공학부 졸업과제 팀 타요타요

팀원 역할 소개

김돈우
- 블록체인 네트워크 구축 및 기능 개발 (Hyperledger Indy)
- Backend 서버 개발 (Spring Boot)

최세희
- UI 디자인 및 서비스 기획
- 블록체인 네트워크 구축(Hyperledger Fabric)
- 블록체인 체인코드 개발

이지현
- UI 디자인 및 서비스 기획
- 클라이언트 UI 설계 및 기능 개발(React.js)


3. 시스템 구성도

전체 시스템 구성도


FrontEnd(React)

Dependency

Dependency Version
Next.js 13.4.7
TypeScript 5.1.5
Recoil 0.7.7
axios 1.4.0
tailwindCSS 3.3.2
react-hook-form 7.45.2

4. 소개 및 시연 영상

페이지 소개

로그인 회원 가입 대시보드 차량 검색
차량 관리 차량 등록 채팅 마이페이지

시연 영상

타요타요 서비스 영상



5. 📌 디렉토리 구조 소개

📦capstone-2023-1-42
  📂Tayo-Backend               // 타요타요(차량 공유) 서비스 Server
  📂Tayo_FE                    // 타요타요 Web Client
  📂VC_Service                 // 차량 VC 발급 서비스 Server
  📂bin                        // Hyperledger Fabric's binaries
  📂chaincode                  // Hyperledger Fabric's chaincode
   📂tayocar                  // 차량 관리 체인코드
   📂tayosharing              // 차량 공유 및 지갑 체인코드
  📂config                     // Hyperledger Fabric's config
  📂libindy                    // Hyperledger Indy's library
  📂network                    // Hyperledger Fabric's network

6. 설치 및 사용법

본 프로젝트는 다음과 같은 단계에 따라 관련 패키지들의 설치와 빌드를 수행할 수 있습니다.

1. 타요타요 프로젝트를 클론합니다.

- git clone https://github.com/pnucse-capstone/capstone-2023-1-42.git

2. 먼저 Indy Pool을 docker에 build하고 실행합니다.

- Windows : docker build -f indy-pool.dockerfile -t indy_pool ../ci
- Mac OS : docker build --platform linux/amd64 -f indy-pool.dockerfile -t indy_pool ../ci
- docker run -itd -p 9701-9708:9701-9708 indy_pool

3. 다음으로 tayonetwork.sh script 파일로 Fabric network를 실행합니다.

- cd network
- ./tayonetwork.sh

여기까지 완료되면 위 사진과 같이 docker desktop에서 container들을 확인할 수 있습니다.

4. 환경 변수를 설정합니다.

* Windows
- Path에 capstone-2023-1-42\libindy\lib 절대 경로 추가하기
- ex) - D:\capstone-2023-1-42\libindy\lib
* Mac OS
- 프로젝트 실행 전 dylb 환경변수를 설정합니다. (필수)
- LD_LIBRARY_PATH = D:\capstone-2023-1-42\libindy\lib
- DYLD_LIBRARY_PATH = D:\capstone-2023-1-42\libindy\lib

Mac OS(M1 chip)에서 libindy 라이브러리 인식이 되지 않아 서버 실행 시 `NullPointerException`이 발생하는 경우가 있습니다.
라이브러리가 제대로 출력되는지 확인해보시고, 제대로 출력된다면 설치한 JDK를 확인해보세요. ARM 프로세서 기반인 M1 chip에서 JAVA가 Intel chip 프로세서로 동작하고 있을 수 있습니다.


5. 프로젝트 내 Tayo-Backend 서버와 VC_Service 서버를 빌드 후 실행합니다.

- cd Tayo-Backend
- ./gradlew build
- java -jar ./build/libs/Tayo-BE-0.0.1-SNAPSHOT.jar

- cd VC_Service
- ./gradlew build
- java -jar ./build/libs/VC_Service-0.0.1-SNAPSHOT.jar

6. React로 웹 클라이언트를 실행합니다.

- cd Tayo_FE
- npm install
- npm run dev

프로젝트 실행 후 http://localhost:3000 으로 접속합니다.

About

PNU CSE 2023 Capstone 'TayoTayo - Shared Mobility Service on Hyperledger Fabric and Hyperledger Indy' Repository

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •