블록체인을 활용한 포트폴리오 관리 플랫폼 개발
본 과제는 개인 정보의 유출과 오남용 및 데이터의 위변조와 같은 문제를 해결하기 위해 자기 정보 통제 및 데이터 무결성 측면에서 장점을 가지는 블록체인을 활용한 개인 포트폴리오 관리 플랫폼을 제안한다.
제안하는 시스템은 블록체인에 사용자 자기 정보를 저장하고 블록체인 네트워크는 프라이빗 네트워크의 구현체인 하이퍼레저 패브릭을 기반으로 동작한다.
개인 포트폴리오 항목의 해시값을 블록체인에 저장함으로써 공유 데이터의 무결성 검사가 가능하게 한다. 현재 세종 텔레콤, 몰리다 등 여러 학사 정보 및 포트폴리오 관리 플랫폼들이 존재하지만,
기능 및 성능 측면에서 보완할 점을 다수 발견했다. 이를 개선하고자 새로운 개인 포트폴리오 관리 플랫폼을 제안한다.
이름 | 이메일 | 역할 |
---|---|---|
조병우 | [email protected] | 블록체인(HyperledgerFabric) 개발 |
조현우 | [email protected] | 백엔드(SpringBoot, CI/CD) 개발 |
서지원 | [email protected] | 프론트(React) 개발 |
플랫폼의 프론트엔드 사이드는 프레임워크인 React를 기반으로 설계되었습니다.
$ git clone https://github.com/whquddn55/Capstone-2022-1-35.git
$ cd ./Capstone-2022-2-35/FrontEnd
$ npm install
$ npm run start
Name | Version |
---|---|
OS | Ubuntu 20.04.5 LTS |
Java | OpenJDK 11.0.15 |
Springboot | 2.7.1 |
Docker | 20.10.18 |
kubernetes | 1.23.6-k3s |
Nginx | 1.21.1 |
MySQL | 5.7 |
$ git clone https://github.com/whquddn55/Capstone-2022-1-35
$ git checkout dev
$ git checkout -b feat-...
git flow 를 활용해 main 브랜치가 아닌 곳에 본인의 코드를 커밋 및 푸시합니다.
$ cd ./AOMD-Server
$ ./gradlew clean build
$ cd ./services/portfolio/build/libs
Run your Database
$ java -jar ./aomd-server.jar
CI/CD pipeline operate
- github action CI process start
- gradle test, gradle build, create docker image, push docker image to dockerhub
- automatically argo-deploy branch tag modify
- argoCD check difference, sync state
git submodule 을 활용해 secret 정보를 관리한다. kubernetes secret 을 활용해 secret 정보를 관리한다.
Name | Version |
---|---|
OS | Ubuntu 20.04.5 LTS |
Kernel | 5.17.4-051704 |
Go | 1.18.1 |
Java | OpenJDK 11.0.15 |
HLF | 2.2.7 |
HLF-ca | 1.5.3 |
Docker | 20.10.18 |
jq | 1.6 |
$ git clone https://github.com/whquddn55/Capstone-2022-1-35.git
$ cd ./Capstone-2022-2-35/BlockChain
$ ./buildNetwork.sh up
$ ./deployCC.sh
$ ./buildNetwork.sh down
$ ./buildNetwork.sh re