Skip to content

실습형 강의를 위한 웹기반 가상머신 교육 플랫폼 API Server

Notifications You must be signed in to change notification settings

V-Ground/Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

☁️ 클라우드 기반 샌드박스 보안 실습 강의 플랫폼

badge-react badge-react badge-react badge-react badge-react badge-react badge-react badge-react

📝목차

👨‍👩‍👧‍👦 팀원 소개

👨‍👨‍👧 🧑‍💼 김경태 🧑‍💻 고현수 🧑‍🎨 장원익 🥷 임창현 👩🏻‍⚕️ 강지민
역할 PM, 평가 모듈 개발 Front-End Back-End 평가 모듈 개발 평가 모듈 개발

🔖 기획 배경 및 필요성

📌 기획 의도

Best Of the Best 멘토님들을 대상으로 한 온라인 실습시 불편한점 및 개선사항 설문조사에서 압도적으로 학생들의 실습 진행 상황 파악이 어려움이 문제로 지적되었습니다.

이를 위해 웹에서 강사와 학생들에게 동일한 실습 환경을 제공하고 학생들의 실습 진행상황을 확인할 수 있는 플랫폼을 제공하고자 합니다.

📌 제공 기능

  • 클래스 기능
    • 학생 초대 및 컨테이너 자원 생성
    • 가상머신(컨테이너) 접속
    • OX 퀴즈
    • 과제 생성 및 문제 출제
  • 학생 상호작용 기능
    • 명령어 기록 확인
    • 원격 명령어 실행
    • 원격 스크립트 실행
    • 파일 삽입
    • 설치 패키지 확인
    • 파일 내용 확인 및 생성 여부 확인

👩🏻‍💻 What is Challenging

프로젝트를 진행하며 학습했던 것들과 도입하면서 성장했던 기술들에 대해서 정리하였습니다.

📌 awc-cli를 이용한 클라우드 자원 관리

학생 가상머신 (컨테이너) 생성 자동화를 위해 awc-cli 가 사용되었습니다.

클래스에 학생을 초대할 때 awc-cliecs 명령어로 task 를 생성합니다.

📌 Open Feign 을 이용한 API 통신

상호작용 모듈은 한 번의 호출에 클래스에 소속된 모든 컨테이너의 상호작용 웹서버와 통신을 수행해야 합니다. 이를 위해 Spring Cloud 에서 사용되는 HTTP Client 모듈인 OpenFeign 이 사용되었습니다.

📌 실습을 위한 가상머신 선정에 대한 고민

실습 머신으로 다양한 후보군이 존재하였습니다.

  • VM
  • Container
  • Firecracker

⛳️ 프로젝트 소개

📌 사용 기술

tech

  • Front-End
    • next.js
    • react.js
    • axios
    • mui
    • NoVnc
  • Back-End
    • spring-boot
    • sprint security
    • spring data jpa
    • query dsl
    • spring-cloud-open-feign
  • Infrastructure
    • aws-cli
    • aws-ec2
    • aws-ecs
    • aws-fargate
  • Etc
    • postman
    • git
    • github
    • adobe xd

📌 아키텍쳐

infra

📌 DB 설계

deploy

📌 UI Design

UI

About

실습형 강의를 위한 웹기반 가상머신 교육 플랫폼 API Server

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages