학과 학생들이 공부한 세미나,강의 등을 들을 수 있고 보안기술 향상과 공부를 위한 워 게임 사이트 개발
Back-End : Node.js(sequelize, passport, redis 등)
Front-End : React.js(redux 등)
회원가입 | 로그인 |
---|---|
![]() |
![]() |
[3.1] 회원가입과 로그인
[3.2] 워게임 정보
[3.3] 랭킹 정보
[3.4] 내 정보
[3.5] 강의 목록
[3.6] 강의 시청과 댓글 대댓글 기능
[3.7] 관리자 기능
[3.8] 관리자 기능2
Back-End를 맡아 RestAPI 개발, DB설계, 로그인 등을 맡았습니다.
객관적으로 보여줄 수 있는 지표가 있지 않았지만 학과 학생들의 학업 증진, 선후배 관계 형성등이 있었습니다.
[5.1] DB구조
https://github.com/fourjae/SSC-Back
[5.2] github 주소
-
협업
Back-End 개발자 황영하와 Front-End 개발자 한 명으로 진행하였으며 협업에 큰 어려움 없이 서로의 진행 상황을 공유하며 개발을 진행하였음.
-
보안
Front-End에서 댓글 작성에 사용하는 오픈소스 라이브러리에서 CSRF가 발생
Back-End에서 공격구문에 대한 화이트리스트 필터링을 진행.
-
DB
문제를 풀고 점수를 얻는 API에서 경쟁 상태를 이용한 여러번 점수 얻기가 가능하였음.
비동기 처리과정에서 발생하는 문제 였으나 서버로직상 해결할 수 없어 고민을 하다가 MySQL에서 중복체크를 위한 새로운 unique컬럼을 만든 후
카디널리티가 높고 선택도를 1로 만드는 방법을 고민하였음.
중복되지 않는 닉네임 + 1문제당 1번만 풀이 가능한 문제명을 합쳐서 unique 값으로 저장함으로써 중복접근을 해결