HERE는 헌혈증서를 블록체인 기술을 이용하여 NFT 형식으로 발행하고 이용하는 플랫폼입니다.
이제 더 이상 종이로 된 헌혈증서를 분실하거나 재발급 받는 일은 없습니다.
HERE에서 발행된 헌혈증서는 안전하게 저장되며, 언제 어디서든 손쉽게 확인할 수 있습니다.
또한, 헌혈증서를 소유한 사용자는 여러 가지 혜택과 보상도 받을 수 있습니다.
HERE를 통해 헌혈증서의 미래를 경험해보세요.
- 혈액원이 헌혈자로부터 헌혈을 받았을 때 발급해주는 카드 형태의 서류
- 헌혈 사실 증명
- 대학 입시 봉사활동 가산점 획득
- 공공기관에서의 직원 공가 처리
- 군가산점 & 예비군 조기 퇴소
- 수혈 비용 공제
- 헌혈증서 개수만큼 본인부담금 전액 공제
- 타인에게 무료로 양도 및 기부 가능
- 직접 인증 기관에 방문하여 헌혈증을 제출해야 하는 번거로움
- 분실 등으로 인한 보관 및 관리의 힘듦
- 인증 기관에서의 복잡한 증명 확인 절차
- 헌혈증서 위변조로 혜택을 받기 위한 악용 사례 발생
- 불편한 기부 방식
- 2019년 기준 미사용 헌혈증서 87% (대한적십자사)
- 헌혈증 관리 용이성 증가
- 종이 헌혈증들을 서류로 관리 ⇒ 한 눈에 확인하고 관리할 수 있는 헌혈 데이터
- 헌혈 증명 절차 간소화
- 헌혈 사실 증명을 위한 복잡한 절차 ⇒ 원클릭으로 손쉬운 제출, 증명 절차
- 헌혈증서의 보안 및 투명성 제고
- 헌혈증서 위변조 등 악용 위험의 존재 ⇒ 블록체인을 통한 투명한 관리
- 헌혈증서 기부 활성화
- 실물 증서를 직접 전달해야 하는 기부 방식 ⇒ 온라인으로 가능한 간편한 기부
- 발급 및 인증 절차 간소화
- 위변조 방지 투명성
- 기부 문화 활성화
- 헌혈 장려
- NFT 헌혈증서를 이용한 헌혈 기록 인증 및 제출
- 기관 제출
- 내 이름으로 발행한 NFT 해시값 제출 ⇒ 블록체인 네트워크 NFT 진위 여부 확인
- 병원 제출
- 내 NFT + 양도받은 NFT 해시값 제출 ⇒ 블록체인 네트워크 NFT 진위 여부 확인
- 자동 선택
- 원클릭으로 간편하게 헌혈증 제출
- 1순위 : 타인에게 양도받은 NFT
- 2순위 : 발행일이 오래된 NFT
- 원클릭으로 간편하게 헌혈증 제출
- 헌혈 후 NFT 헌혈증서 발급 (적십자)
- 발급받은 NFT 헌혈증서 확인
- 나의 NFT 이미지 저장
- 기존의 종이 헌혈증서 등록
- QR 코드 인식 ⇒ 바코드 등록
- 헌혈증서 양도 커뮤니티
- 쉽고 빠르게 헌혈증서 양도
- 나의 헌혈기록 보기
- 최근 헌혈일, 다음 헌혈 가능일 안내
- 헌혈 스탬프
- 헌혈의 집 지도 정보 제공
- 기관, 병원 진위 여부 확인 시 제출자에게 인증 확인 알림
- 헌혈증서 양도 시 글 작성자에게 양도 확인 알림
- 병원에서 헌혈증서 수납 시 최초발행자에게 현황 알림
- 글 마감 시 모든 기부자들에게 마감 알림
- React: 18.2.0
- Next.js: 13.2.3
- react-query: 3.39.3
- Redux Toolkit: 1.9.3
- Typescript: 4.9.5
- Tailwind CSS: 3.2.7
- Web3: 1.8.2
- java : openJDK version 11.0.18
- mySQL : 8.0.31
- springBoot : 2.7.10
- spring Swagger : 2.9.2
- queryDsl : 5.0.0
- truffle : 5.4.33
- solidity : 0.8.4
- ipfs : 0.10.0
- docker : 23.0.1
- docker-compose : 1.29.2
- Jenkins : 2.387.19
📦here
┣ 📂src
┃ ┣ 📂main
┃ ┃ ┣ 📂java
┃ ┃ ┃ ┗ 📂com
┃ ┃ ┃ ┃ ┗ 📂ssafy
┃ ┃ ┃ ┃ ┃ ┗ 📂hereboard
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂config
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂controller
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂{HERE-name}
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂common
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂response
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂entity
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂enumeration
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂response
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂errorhandling
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂exception
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂service
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂resolver
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂mattermost
┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂dto
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂repository
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂service
┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂util
┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜HereBoardApplication.java
┃ ┃ ┗ 📂resources
┃ ┃ ┃ ┣ 📜application-dev.yml
┃ ┃ ┃ ┣ 📜application-local.yml
┃ ┃ ┃ ┗ 📜application.yml
┣ 📜.gitignore
┣ 📜build.gradle
┣ 📜Dockerfile
┣ 📜gradlew
┣ 📜gradlew.bat
┗ 📜settings.gradle
📦here-front
┣ 📂public
┃ ┣ 📂banners
┃ ┣ 📂favicon
┃ ┣ 📂icons
┃ ┣ 📂images
┃ ┣ 📂lottieJson
┃ ┣ 📂mainBanner
┃ ┣ 📂mainItems
┃ ┣ 📂signup
┃ ┣ 📂stamp
┃ ┣ 📂test
┣ 📂src
┃ ┣ 📂apis
┃ ┃ ┣ 📂alarm
┃ ┃ ┣ 📂blockchain
┃ ┃ ┣ 📂blood
┃ ┃ ┣ 📂donate
┃ ┃ ┣ 📂member
┃ ┃ ┣ 📂my-nft
┃ ┃ ┣ 📂organization
┃ ┃ ┣ 📂redcross
┃ ┃ ┣ 📂register
┃ ┃ ┗ 📂submit
┃ ┣ 📂assets
┃ ┃ ┗ 📂fonts
┃ ┣ 📂components
┃ ┃ ┣ 📂Alarm
┃ ┃ ┣ 📂Background
┃ ┃ ┣ 📂Banner
┃ ┃ ┣ 📂Bar
┃ ┃ ┣ 📂Button
┃ ┃ ┣ 📂Card
┃ ┃ ┣ 📂Footer
┃ ┃ ┣ 📂Header
┃ ┃ ┣ 📂MemberCard
┃ ┃ ┣ 📂Pagination
┃ ┃ ┣ 📂Register
┃ ┃ ┗ 📂Tag
┃ ┣ 📂constants
┃ ┣ 📂enum
┃ ┣ 📂features
┃ ┃ ┣ 📂Alarm
┃ ┃ ┣ 📂Blood
┃ ┃ ┣ 📂Donate
┃ ┃ ┣ 📂Home
┃ ┃ ┣ 📂MyNFT
┃ ┃ ┣ 📂Organization
┃ ┃ ┣ 📂RedCross
┃ ┃ ┗ 📂Submit
┃ ┣ 📂hooks
┃ ┃ ┣ 📂organization
┃ ┃ ┗ 📂redcross
┃ ┣ 📂pages
┃ ┃ ┣ 📂blood
┃ ┃ ┣ 📂donate
┃ ┃ ┣ 📂member
┃ ┃ ┣ 📂my-nft
┃ ┃ ┣ 📂organization
┃ ┃ ┣ 📂redcross
┃ ┃ ┣ 📂register
┃ ┃ ┣ 📂submit
┃ ┣ 📂stores
┃ ┃ ┣ 📂alarm
┃ ┃ ┣ 📂donate
┃ ┃ ┣ 📂header
┃ ┃ ┣ 📂member
┃ ┃ ┣ 📂myNFT
┃ ┃ ┣ 📂organization
┃ ┃ ┣ 📂submit
┃ ┃ ┗ 📜store.ts
┃ ┣ 📂types
┃ ┣ 📂utils
┃ ┗ 📜index.css
┣ 📜.eslintrc.json
┣ 📜.gitignore
┣ 📜.prettierrc.json
┣ 📜ca.crt
┣ 📜ca.key
┣ 📜cert.crt
┣ 📜cert.key
┣ 📜Dockerfile
┣ 📜Jenkinsfile
┣ 📜next.config.js
┣ 📜package-lock.json
┣ 📜package.json
┣ 📜postcss.config.js
┣ 📜README.md
┣ 📜server.js
┣ 📜tailwind.config.js
┣ 📜tsconfig.json
┗ 📜withTwin.js
📦here-blockchain
┣ 📂build
┃ ┗ 📂contracts
┣ 📂contracts
┃ ┣ 📂access
┃ ┣ 📂token
┃ ┃ ┣ 📂ERC20
┃ ┃ ┃ ┣ 📂extensions
┃ ┃ ┃ ┃ ┗ 📜IERC20Metadata.sol
┃ ┃ ┃ ┣ 📜ERC20.sol
┃ ┃ ┃ ┣ 📜IERC20.sol
┃ ┃ ┃ ┗ 📜README.adoc
┃ ┃ ┗ 📂ERC721
┃ ┃ ┃ ┣ 📂extensions
┃ ┃ ┃ ┃ ┣ 📜ERC721Enumerable.sol
┃ ┃ ┃ ┃ ┣ 📜IERC721Enumerable.sol
┃ ┃ ┃ ┃ ┗ 📜IERC721Metadata.sol
┃ ┃ ┃ ┣ 📜ERC721.sol
┃ ┃ ┃ ┣ 📜IERC721.sol
┃ ┃ ┃ ┣ 📜IERC721Receiver.sol
┃ ┃ ┃ ┗ 📜README.adoc
┃ ┣ 📂utils
┃ ┃ ┣ 📂introspection
┃ ┃ ┃ ┣ 📜ERC165.sol
┃ ┃ ┃ ┗ 📜IERC165.sol
┃ ┃ ┣ 📂math
┃ ┃ ┃ ┗ 📜SafeMath.sol
┃ ┃ ┣ 📜Address.sol
┃ ┃ ┣ 📜Context.sol
┃ ┃ ┣ 📜Counters.sol
┃ ┃ ┗ 📜Strings.sol
┃ ┣ 📜HereNFT.sol
┃ ┣ 📜Migrations.sol
┃ ┣ 📜SaleFactory.sol
┃ ┗ 📜SsafyToken.sol
┣ 📂migrations
┃ ┗ 📜1_initial_migration.js
┣ 📂test
┣ 📜.gitignore
┣ 📜package-lock.json
┣ 📜package.json
┣ 📜README.md
┗ 📜truffle-config.js
- Gitlab
- 원격 저장소
- 코드 버전 관리
- Mattermost
- Mattermost를 이용하여 Log관리
- 팀원 모두가 편하게 에러 체크 가능
- JIRA
- Epic, Story 지정해서 매주 Sprint 진행
- 회의
- 매주 일요일 오후 9시 Discord 팀 회의 진행
- 필요 시 프론트, 백엔드 회의 진행
- 매일 아침 팀 전체 데일리스크럼 진행 (당일 목표 작업 브리핑)
- 파트 별 코드 리뷰 진행 (플립 이용)
- Notion