자사 서비스인 Auto_Watch는 화상공유 플랫폼을 이용한 강의 및 시험에서 야기되는 집중력, 참여도 저하 및 부정행위 등의 문제를 해결하는 목적으로 제공되는 자동 감독 서비스입니다.
개발 vlog 사이트 - https://www.youtube.com/watch?v=uV2hKfhYfDs
데모 사이트 - https://118.67.131.138:30000/
(보다 원활한 접속을 위해 https://118.67.131.138:30010/ 에 접속, thisisunsafe 입력 후 입장 바랍니다.)
개발 문서 사이트 - https://spiced-flax-f90.notion.site/36e9c573c45c488bb933613313b14894
화상 공유를 통한
① 시험 감독
② 온라인 수업 및 스터디 감독
부정행위 및 집중력, 참여도 저하 등의 문제를 해결하기 위한 자동 감독 서비스

- Eye-Tracking
- 자리 이탈 확인
- 특정 App 차단
- 본인 확인
-
Realtime Client :: WebRTC가 실행되는 React 환경
Eye-tracking 눈추적 인식 기능Node.js -
Android Client :: AndroidStudio 앱 잠금 기능, 사람 인식 기능
서버 부하분산을 위해 MSA 도입, 다음과 같은 서버들로 구성
- Realtime Server :: WebRTC를 위한 시그널링 서버
Node.js - Management Server :: 회원 정보 & room 정보 관리 서버
Django
회원가입, 로그인, 토큰 등의 멤버 정보 관리
& room 입장, room의 각 멤버의 상태 트래킹하는 서버
-
WebRTC서버:: 실시간 영상 전송 서버 (socket)
-
WebRTC — Node Adapting Server
기본 url :: https://118.67.131.138:30010
POST/ 방 입장 시 socket connection 설정 위한 offer 마다의 토큰 제공DEL/ 방 퇴장 시 socket connection 해제POST/ Join room id 중복검사 , 방(UserData) 입장POST/ offer 요청한 연결, 나를 제외한 전체 사용자에게 연결 요청POST/ getoffer 요청 받은 연결, 나에게 들어온 연결 요청POST/message 실시간 채팅을 위한 연결POST/ gazealert 실시간 부정행위 알람을 위한 연결 -
ManageServer
기본 url :: https://118.67.131.138:30000
POST/ → 사용자 아이디 중복 체크 및 비밀번호 재입력 확인 요청POST/ login → 사용자 아이디 및 비밀번호 요청GET/ logout → 로그아웃POST/ makeroom → STUDY/EXAM 모드에 따라 방생성POST/ makeroom/success → 방 생성 성공 후 방 정보 나열POST/ enteroom/exam1 → EXAM 모드 앱 차단 여부 요청POST/ enteroom/exam2 → EXAM 모드 얼굴 인식 확인 요청POST/ enteroom/exam3 → EXAM 모드 WebRTC 입장 가능 여부 요청POST/ enteroom/study1 → STUDY 모드 앱 차단 여부 요청POST/ enteroom/study2 → STUDY 모드 WebRTC 입장 가능 여부 요청GET/ roomout/int:time/str:mode → mode가 STUDY 일때 해당 사용자의 Analytics에 time이 저장됨POST/ roomout/int:time/str:mode → App 접근 차단을 해제 하였는지 요청 & mode가 STUDY 일때 저장돤 time, app, person 변수를 바탕으로 level, rate를 측정하고 Analytics 모델에 저장GET/ roomout/study → session에서 사용자 정보를 가져와 Analytics 모델의 가장 마지막 row를 DB에서 가져와서 집중도 그래프를 그림POST/ roomout/exam → 시험이 성공적으로 종료 됐는지 요청GET/ list/room → Room DB에서 사용자 이름으로 만들어진 Room을 QuerySet으로 반환후 list 나타냄GET/ list/analytics → Analytics DB에서 사용자 이름으로 만들어진 Analytics를 QuerySet으로 반환후 list 나타냄POST/ list/analytics/int:pk → Analytics List에서 선택한 QuerySet 객체의Primary Key 값과 같은 row를 DB에서 가져와 집중도 그래프를 그려줌
@김혜원
- NCP 서버 구축
- kubernetes 사용한 HTTPS 배포
- GazeCloudAPI를 통한 eye-tracking 눈추적 & 방이탈 부정행위 알림
- luxand API를 이용한 Exam방 입장 시 본인확인
- Exam 모드 응시자 명단 엑셀파일 처리
@김준영
- Realtime Client Layout 구축
- WebSocket token을 활용한 peer connection
- 부정행위 실시간 알람기능 구축
- 백엔드 실시간 통신 구축
- Redux 활용한 SettingData(Gaze,마이크 ,비디오 on/off) 및 UserData 상태 관리
- 채팅 및 화상통신 기반 socket.io 통신
- WebSocket token을 활용한 peer connection
@황한식
- django UI/UX 전체 frontend 개발
- django Rest API 설계 및 개발
- Luxand API 얼굴인식을 통한 사용자 인증 기능 개발
- 로그인/회원가입 개발
- 사용자 이미지 변경이 가능한 my page 개발
- Class 생성 및 입장 개발
- 집중도 통계자료 그래프 기능 개발
@김유림
- android 전체 Layout 구축
- SQLite 로그인한 사용자 저장
- study, exam모드 별로 방 생성 (exam모드 생성 시 파일[회원명단] 업로드 필수)
- retrofit 사용하여 서버와 통신
- exam 방 입장시 카메라 촬영 및 이미지 통신
- 안드로이드 NDK + OpenCV를 활용한 사람 인지 기능
- 특정 앱 차단 구현
MIT License
Copyright (해몽유식) [2021-08-15] [HyeWon Kim, JunYoung Kim, YuLim Kim, HanSik Hwang]
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.






