기술 요구사항 표
3차는 개발하면서 추가해야함!!
1차 목표
문제 해결
- 코드를 작성할 공간 (에디터)
- 미리보기 (Preview)
- 지원언어 (JavaScript)
- 결과 체크 방법 (Jest 이용)
- 에러 핸들링
- 무한루프 중단 가능하도록 웹 워커 사용
- 배포 환경 설정
개발용 서버 공인 IP : 101.101.216.83
2차 목표
문제 출제, 회원 관리
- Database 설계
- RDBMS(MySQL)? NoSQL(MongoDB)?
- ERD 작성
- flow chart, useCase Diagram
- API Endpoint 문서화
- 회원 관리 기능
- 회원가입 : 직접 구현? Passport.js? → Passport.js를 먼저 도입하고 시간이 되면 직접 구현하자.
- 로그인 방식 : Github OAuth → 세션? JWT?
- 로그인 정보를 쿠키? 스토리지? 어디에 저장?
- 문제 출제
- 검수자가 필요한가? → No!
- 너무 어렵게 생각하지 말고 처음에는 올바르게 동작하는 코드에서 일부분을 수정해서 오동작하게 하는 방식으로 간단한 여러 문제 출제 가능 (e.g. 간단하게는 오타 문제부터 const, let 등 문제 등)
- 잘못된 문제 같은 경우는 출제자가 정한 답을 같이 제출하게 하여 동일한 조건에서 통과하는 답이 존재하는지 등을 검사하도록 하면 될 것 같다.
3차 목표