기업과제(레드브릭) 내용
📕 개발 요구 사항
- 회원가입
- 게임 제작하기
- 제작 중 단계의 게임을 '프로젝트'
- 프로젝트는 "실시간"으로 반영
- 게임 출시하기
- 프로젝트 당 퍼블리싱 할 수 있는 개수는 하나입니다. 퍼블리싱한 게임은 수정할 수 있어야 하며, 수정 후 재출시시 기존에 퍼블리싱된 게임도 수정
- 출시하는 게임은 다른 사용자들도 볼 수 있으며, 사용자들의 조회수 / 좋아요 등을 기록 가능
게임 혹은 사용자 검색'을 통해서 찾기 가능
💡 구현 기능
[회원가입, 로그인]
- 인증방식은 JWT를 쿠키에 저장하는 방식으로 구현 하였습니다.
[조회수 수정, 좋아요 API]
- 프로젝트 당 배포 할수 있는 개수는 하나로 구현하고, 배포한 게임은 수정 가능, 수정 후 재배포시 기존 배포된 프로젝트도 수정 가능하게 기능 구현 하였습니다.
[게임 혹은 사용자로 검색 API]
- 게임(프로젝트명) 또는 사용자를 키워드로 하여 검색이 가능하게 기능 구현 하였습니다.
[에러 핸들링]
- 자바스크립트 자체 내장 Error 클래스를 상속 받아서, 커스텀 에러를 생성해서 관리했습니다.
[게임 제작 API]
-
기존의 RestFul Api 설계의 경우, 실시간 저장이라는 개념이 성립할 수 없었습니다. 어쩔 수 없이 게임을 제작하는 사용자부분은 브라우저 를 이용한 가상의 게임제작 페이지를 사용하기로 하였습니다.
-
socket.io를 이용하여 서버와 클라이언트간의 실시간 연결을 유지하고, 게임 프로젝트 데이터의 변경 시 데이터를 서버에 저장합니다.
😎 회고
이번 과제에서는, DB쪽과 API와 연결된 Service부분을 개발에 참여 하였습니다. 기존의 알고 있다고 생각하고 넘어간 부분이 실제로 개발시 스스로 정리가 안되어 있다고 생각했고, 애매한것들을 스스로 정리해보는 시간이 되어서 좋았습니다.
깃허브 링크