Coder Social home page Coder Social logo

osamhack2022 / cloud_app_iot_keepyourendeavor_moment Goto Github PK

View Code? Open in Web Editor NEW
4.0 0.0 4.0 57.94 MB

블록체인 기반 장병 자격 인증 시스템

License: GNU General Public License v3.0

HTML 4.43% CSS 0.36% Shell 0.47% Dockerfile 0.06% TypeScript 42.61% JavaScript 19.95% Kotlin 0.15% Swift 0.15% Objective-C 0.01% Dart 31.33% Ruby 0.48%
docker-compose nodejs private-blockchain react

cloud_app_iot_keepyourendeavor_moment's Introduction

NOTICE-osamhack2022

codespace 사용과 관련하여 저장소가 이전되었습니다. (https://github.com/osamhack2022-v2)

'2022 군장병 온라인 해커톤' 공지사항

'2022년 군장병 온라인 해커톤'에 선발된 군장병 여러분 환영합니다.

군장병 온라인 해커톤은 과년도와 마찬가지로 온라인 과정에서 우수한 성적으로 수료한 장병들을 대상으로 진행합니다. 앞으로 교육기간동안 신청하신 참여 기술 분야에서 개발을 진행하시면 되겠습니다.

제출된 프로젝트 개발물은 1차, 2차 산출물 평가를 통해 총 11점의 우수한 결과물을 선정합니다. 선정된 우수작은 과기정통부장관상, 국방부장관상, 정보통신산업진흥원장상, 각군 참모총장상 등 권위있는 다양한 상격을 시상합니다.

그럼 참가자분들께서는 좋은 결과를 만들 수 있도록 최선을 다해 주시기 바랍니다.

감사합니다.

1. 일시/장소

  • 일시 : 2022년 9월 22일 ~ 10월 27일(약 1개월)
  • 장소 : 비대면 온라인 방식 참여 - 국방오픈소스아카데미(osam.kr), Github Codespace, MS Azure, TinkerCAD, Github 등

2. 주최/주관

  • 주최 : 과학기술정보통신부/국방부
  • 주관 : 정보통신산업진흥원

3. 참석대상

  • 국방오픈소스아카데미 온라인 교육 우수수료자 중 각군에서 최종 선정한 인원 총 200명

4. 지원내용

  • 해커톤 기간 동안 프로젝트 진행하여 산출물을 완료할 수 있도록 전문가 멘토 지원(필수 참여)
  • 개발환경의 형평성 차이의 최소화를 위해 해커톤 기간동안 웹 기반 IDE(통합개발환경)을 제공

5. 프로그램일정

진행일자 절차 항목
9. 7 온라인 우수자 선발 및 발표
9. 7 ∼ 9. 8 참가자 사전조사 *웹기반 통합개발환경(IDE) 희망운영체제(O/S)조사, 개발 선호 요일 및 시간, IDE 초대를 위한 정보 수집(Github계정 또는 이메일)
9. 13 ∼ 9. 18 보안서약서 서명
9.10 ∼ 9.18 사용자 개발환경 테스팅 및 세팅(피드백 접수 및 대응 상시운영)
9.8 ∼ 해커톤 가이드(웹IDE, 멘토, 멘티) & 영상가이드(결과물 제출 요령, IoT분야 시뮬레이터, 개발환경Setting) 제공
9.8 ∼ 9.18 팀 구성
9. 21 멘토 매칭 결과 발표
9. 22 ∼ 10. 27 해커톤 프로젝트 진행 및 멘토링 지원
10. 27 결과물 제출
11. 1 1차 심사 및 평가 (*2→1일로 변경)
11. 3 ~ 11. 7 라이선스 검증
11. 8 2차 심사 및 평가 (*9→8일로 변경)
11. 14 우수작 결과발표
12. 5 (예정) 시상

※ 운영상황에 따라 일부 일정 및 내용은 조정될 수 있습니다.

6. 프로젝트 결과물 제출 양식

항목 제출 방식
개발소스 지정된 Github 조직에 저장소를 생성하여 개발소스 저장 & 팀 블로그 내 링크 저장
라이선스 프로젝트에 맞는 라이선스를 설정하여 해당 license.md 파일 등록
프로젝트 소개 지정양식에 맞게 readme.md 파일 제작(마크다운 작성) & 팀 블로그 내 링크 저장
발표자료 자율 형식으로 PPT파일 또는 PDF파일로 작성하여 팀 블로그 내 저장 (지정 양식 준수, 20장 내외, 20MB 이하)
시연영상 지정된 규격에 맞춰 제작하여 팀 블로그 내 저장(지정된 내용 준수, 5분 내외, MP4-H.264 포멧, 500MB 이하)

7. 평가기준

● 1차 평가(18점 선정)

항목 점수 중점사항
코드 및 구조 적합성 30점 개발물의 소스코드의 안정성 및 합리성
참여 성실도 30점 프로젝트에 대한 기여 정도 및 참여율
활용 가능성 30점 산출물 활용성 정도 및 가능성
기대효과 10점 커뮤니티, 비즈니스 등에 대한 발전 가능성

● 2차 평가(11점 선정)

항목 점수 중점사항
개발문서의 구체성 20점 전반적인 개발문서의 양호도 및 구체적 표현성
독창성 20점 뚜렷한 독창성 유무 정도
발전 가능성 20점 커뮤니티, 비즈니스 등에 대한 발전 가능성
완성도(작품데모) 20점 데모 결과에 대한 시현 능숙도 및 원활한 작동
공개SW 개발방식 20점 팀 역할 분배와 수행에서 보여지는 팀워크/기여

8. 시상

시상내역 비 고 시상 수 시상금
장 관 상 과학기술정보통신부장관상 1팀(점) 300만
장 관 상 국방부장관상 1팀(점) 300만
최우수상 NIPA원장상 3팀(점) 각 100만
참모총장상 육군참모총장상 2팀(점) 각 50만
참모총장상 해군참모총장상 2팀(점) 각 50만
참모총장상 공군참모총장상 2팀(점) 각 50만

해커톤 참가자는 모두 만족도조사를 작성해 주시기 바랍니다.

cloud_app_iot_keepyourendeavor_moment's People

Contributors

eunsolkang avatar lopahn2 avatar

Stargazers

 avatar  avatar  avatar  avatar

cloud_app_iot_keepyourendeavor_moment's Issues

standard 기준 잡아주기

필기 시험, 측정 시험, 강연, 수업
이 4가지에 대한 대강적인 틀
시험의 경우 특, 1급, 2급, 3급 까지만

수업, 강연은 Participated, None 2개

hotfix: 블록체인 작업 마무리

Channel Node

  • 노드 피어 IP 자동할당 기능 구성
  • 구성된 노드 도메인 자동할당 기능
  • 생성요청한 아이디로 도메인 통일
  • 피어 생성 시 Couchbase 1개 자동으로 생성되도록 Docker Compose File 수정

Peer Node

  • index 누적안되는 버그 수정
  • version 하드코딩된 부분 수정

issue 라우터 장착

Issue table에 관한 라우터 입니다.
/issue
create: /regist
read : /

/issue/:issueId
update : /edit
delete : /delete

timestamp 문제 해결

timestamp의 시간이 현재 시간과 너무나 동떨어진 시간이라 이를 해결하기 위한 이슈

  1. DB에 서울 시간을 timestamp로 넣는다.
  2. DB에서 timestamp로 가져온 시간을 클라이언트에게 보내줄 땐 이쁘게 보이게 보내준다
  3. DB에서 암호화 용도로 timestamp를 사용할 때에는 timestamp를 그대로 사용한다
  4. DB에서 timestamp의 값을 비교할 때에는 그냥 사용한다

KY2 블록체인 코어 개발

서비스의 핵심이 되는 블록체인의 코어를 개발합니다.

  • Front-end
    • #9
    • Sharing UI with Semantic UI for React
  • Back-end
    • Linked to BlockChain
    • config system
    • logger system
    • #6
  • blockchain SDK
    • config-system
    • combine Logger System
    • core chain edit
    • linked to DB
    • Logger 이상하게 찍히는 오류 수정
    • #5
  • kafka
    • kafka test connection
    • websocket system switched to kafka with kafkaJS
  • CouchBase
    • Couch base 세팅

signup 라우터와 블록체인단 연동하기

  1. 사용자가 회원가입을 한다.
    1. 생체인증 앱 -> 토큰을 줌 -> 블록체인에 넘겨주세요
      {
      "role": "병사"
      "token": 생체인증토큰
      “oraganization” : “중대”
      }

    2. 웹에서는 -> 토큰만 넘겨주세여 (사용자 UUID)
      {
      "token" : {"UUID","간부"}
      }

  2. 요청을 날리면 Top Node가 노드를 생성함
3. {
"url" : "http://대충peer넘버.jerrykang.com/"
}

  1. 받은 url을 사용자 계정 디비에 업데이트 해준다.
  2. 해당사용자가 올때마다 그 url로 요청한다.

auth 라우터 장착

  • auth router build
  • auth/signup 라우터
  • auth/signin 라우터
  • 토큰 인증 방식 구현

블록체인 구조 수정

현재 임시로 제작되어있는 블록생성 부분에서 corechain 이 GenesisBlock을 생성하도록 설계하고 다음 블록을 이전 블록의 머클트리를 기반으로 생성하도록 수정합니다.

  • Genesis Block 생성기 추가
  • 블록체인에 머클트리 값 추가
  • 블록 값 검증 함수 변경
  • 블록체인 모델 서비스에 맞춰서 변경
  • Genesis Block CouchBase 와 연동

Blockchain Console Server 개발

블록체인 피어에 붙어서 체인을 조작할 수 있는 API를 제공하는 서버를 제작합니다.

  • Block 조회 API
  • Block 추가 API
  • 로그인 API

Blockchain Backend Auth System

블록체인 코어 SDK 의 Console System 서버에 Auth 를 반영하여 Private Blockchain으로서 기능성을 강화합니다.

  • jwt

application 라우터 장착

application table에 관한 라우터입니다.
/application
read : / # 전체 신청자 조회

/application/:noticeId
read : /:noticeId # 공지별 신청자 조회
create : /:noticeId/regist
update : /:noticeId/update/:rep_id
delete : /:noticeId/delete/:rep_id

time table format 설정하기.

2022-10-01T15:44:40.000Z
이런 형식 말고
2022-10-01 15:44:40 으로 !
등록할 때랑 DB에서 봤을 땐 문제없으나
서버측에서 클라이언트에게 전송할 때 문제가 발생

notice 라우터 장착

Notice table에 관한 라우터입니다.

/notice
create : /regist
read : /

/notice/:noticeId
update : /edit
delete: /delete

Main Readme 작성

프로젝트 설계가 마무리되면 아키텍처 도식도를 첨부해서 Main Readme 를 작성할것

KY2 Chain Wiki 작성

블록체인 설명 & 사용법 관련한 Wiki 작성하고 Github io page로 연동해서 자체 체인 사이트 개설

  • 블록체인 로고 제작
  • 블록체인 리드미 작성
  • 위키 작성
  • 별도 사이트 연동

Blockchain Dashboard 개발

블록체인인 콘솔보드의 프론트를 개발합니다.

  • 로그인 페이지 퍼블리싱
  • 로그인 페이지 연동
  • 메인페이지 퍼블리싱
  • 메인페이지 연동

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.