Skip to content

군 복무중인 개발자를 위한 국방망용 통합 개발 플랫폼

License

Notifications You must be signed in to change notification settings

osamhack2020/WEB_CodeSquare_AmongUs

Repository files navigation

CodeSquare Logo

Documentation  |  PPT  |  Demo Video

코드스퀘어(CodeSquare)는 군 복무 중인 개발자를 위한 국방망용 오픈소스 통합 개발 플랫폼입니다.

내부망에서도 사용하는 Git

  • 군 내부망에 GitLab 서버를 구축해, 내부망에서도 Git의 편리한 기능 이용 가능
  • OpenStack Keystone Federation을 이용해 CodeSquare 계정으로 통합 로그인 (SAML SSO)
  • 보안이 중요한 프로젝트는 비공개 저장소로, 오픈소스/개인 프로젝트는 공개 저장소로 운영 가능

야 너도 쓸 수 있어, Linux VM

  • 개발 용도로 사용할 수 있도록 개인별 Linux VM 생성 및 할당
  • code-server(Web IDE)가 탑재된 Ubuntu 이미지로 OpenStack VM Deploy
  • 향후 환경변수 설정, 포트 포워딩 등 고급 옵션 제공하도록 개선 계획

웹 브라우저로 준비 끝, Web IDE

  • Visual Studio Code를 웹 버전으로 포팅한 code-server 서비스 제공
  • 개인별로 접속 도메인 제공되어 웹 브라우저만으로 개발 가능
  • code-server 내 터미널 기능을 활용, 개인 VM의 Linux Terminal 이용 가능

궁금한 건 참을 수 없으니까, QnA

  • 궁금한 점을 질문하고 답변할 수 있는 QnA 기능 제공
  • 질문과 답변은 Markdown을 사용하여 작성, 태그 기능 제공
  • 답변에 대해 추천/비추천 투표, 채택, 댓글을 통한 추가 질문 등의 기능 제공

트렌드를 놓치지 않는 매거진

  • 관련 매체와 제휴하여 좋은 개발 아티클을 군 내부망에 큐레이션하여 제공
  • 군 내에서 현재 개발을 하지 않는 장병도 글을 통해 관련 분야에 대한 관심을 가지고 트렌드를 놓치지 않을 수 있음
  • 군 내부망에 읽을거리를 제공하는 것만으로 여유시간에 읽게 되어 자연스럽게 관심을 유발

기능 설계

Figma를 사용하여 화면 설계 및 디자인, 프로토타이핑을 진행하였습니다.

화면설계 및 와이어프레임 최종 디자인 및 프로로타이핑

컴퓨터 구성 / 필수 조건 안내 (Prerequisites)

일반 사용자 (End User)

  • ECMAScript 6 지원 브라우저 사용
  • Google Chrome 77 이상을 권장합니다.

서버 최소 사양

  • Operating Systems
    • Ubuntu (16.04/18.04/20.04)
    • Debian (9/10)
  • Hardware Requirements
    • OpenStack Controller Node: 1 core processor, 4GB RAM, and 5GB storage
    • OpenStack Compute Node: 1 core processor, 2GB RAM, and 10GB storage
    • GitLab: 4 cores processor, 4GB RAM

기술 스택 (Technique Used)

Server(back-end)

  • Java Spring Boot
  • MariaDB
  • Redis

Front-end

  • React.js
  • Typescript
  • Storybook
  • Emotion (CSS-in-JS)
  • SockJS with STOMP

Infra/Cloud

  • Docker
  • docker-compose
  • OpenStack
  • OpenStack Heat
  • OpenStack Zun (dockerized containers) + Virtual-Kubelet
  • OpenStack Keystone
  • NGINX (reverse proxy)
  • node.js
  • OpenSSL
  • let's encrypt
  • Google Cloud DNS
  • code-server

Git

  • GitLab CE
  • Docker

Documentation

  • Docusaurus
  • React.js
  • GitHub Actions
  • GitHub Pages

설치 및 프로젝트 사용법 (Installation & Getting Started)

$ git clone https://github.com/osamhack2020/WEB_CodeSquare_AmongUs
$ docker-compose up -d

CodeSquare는 WEB, Cloud, Infra 등 여러 분야가 융합된 프로젝트입니다. 프로젝트를 설치하기 위해서는 먼저 충분한 서버가 준비되어 있어야 하며, OpenStack 관련 설정도 진행되어야 합니다. 이를 위한 자세한 가이드라인은 CodeSquare Docs의 Getting Started 문서를 참고하시기 바랍니다.

Among Us 팀 정보

Among Us팀은 "우리 군에 오픈소스 문화를 이끌어갈 개발자가 숨어 있다"라는 의미에서 지어진 팀입니다. 군 복무중인 개발자 장병들에게 더 편리한 개발 환경을 제공하고, 군에 오픈소스 문화가 자리잡을 수 있는 미래를 꿈꾸고 있습니다.

저작권 및 사용 정보 (Copyleft / End User License)