Skip to content

fourjae/SSC-Back-Public

Repository files navigation

SSC-BACK Public

1. 프로젝트 요약

학과 학생들이 공부한 세미나,강의 등을 들을 수 있고 보안기술 향상과 공부를 위한 워 게임 사이트 개발

2. 사용한 언어 및 라이브러리

Back-End : Node.js(sequelize, passport, redis 등)

Front-End : React.js(redux 등)

3. 주요 기능

회원가입 로그인
First Image Second Image

[3.1] 회원가입과 로그인

스크린샷 2022-03-23 오후 2 07 06

[3.2] 워게임 정보

스크린샷 2022-03-23 오후 2 07 53

[3.3] 랭킹 정보

스크린샷 2022-03-23 오후 2 47 49

[3.4] 내 정보

스크린샷 2022-03-23 오후 2 10 19

[3.5] 강의 목록

스크린샷 2022-03-23 오후 2 23 40

[3.6] 강의 시청과 댓글 대댓글 기능

스크린샷 2022-03-23 오후 2 27 15

[3.7] 관리자 기능

스크린샷 2022-03-23 오후 2 47 49

[3.8] 관리자 기능2

4. 담당역할 및 성과

Back-End를 맡아 RestAPI 개발, DB설계, 로그인 등을 맡았습니다.

객관적으로 보여줄 수 있는 지표가 있지 않았지만 학과 학생들의 학업 증진, 선후배 관계 형성등이 있었습니다.

5. 레퍼런스

새싹챌DB1

새싹챌DB2

[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 값으로 저장함으로써 중복접근을 해결

About

새싹챌린지 백엔드

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published