사이드 프로젝트 - 미스테리 스케치

2024. 3. 11. 22:06개발

오랜만입니다..ㅎ

1.  프로젝트 소개

 

캐치마인드 게임(https://skribbl.io/)을 참고하였고 직관적이고 깔끔하게 플레이할 수 있게 하는 것이 목표로 만든 사이드 프로젝트입니다.

 

이름 입력, 캐릭터 선택

 

게임 설명 모달창

 

create 버튼 클릭시 보이는 페이지  ,방설정 기능 (시간, 인원, 라운드 설정)
시작 전 방장 화면(game start 버튼 클릭시 게임 시작)
연필 차례일 때 화면
연필 차례가 아닐 때 화면 (+ 채팅)
결과창

 

2.  프로젝트 사용 기술

node js, mysql, expressjs, react, socket.io, aws, s3

 

3. 내가 맡은 역할

백엔드 역할을 맡았다.

프론트 3명 백엔드 3명이서 진행

 

구현해 본 기능

 

API : gameroomInfo

게임방 정보 조회

게임 방에 들어온 첫 번째 유저부터 게임이 시작하고 라운드마다 그림을 그릴 수 있는 권한을 주는 기능

 

API 문서 : https://documenter.getpostman.com/view/30331356/2sA2xfZDcN

 

Mystery-sketch

The Postman Documenter generates and maintains beautiful, live documentation for your collections. Never worry about maintaining API documentation again.

documenter.getpostman.com

git hub 링크 : https://github.com/applepc24/mystery-sketch-backend

 

GitHub - applepc24/mystery-sketch-backend

Contribute to applepc24/mystery-sketch-backend development by creating an account on GitHub.

github.com

 

AWS :

 

AWS 이용하여 백엔드 서버 베포

 

참고

https://www.youtube.com/watch?v=O1GzLLCGmuc&t=243s

https://www.youtube.com/watch?v=lzZ9KSGh6eI&t=206s

https://www.youtube.com/watch?v=_bu6etIS_bo

https://soobarkbar.tistory.com/224

 

https://www.youtube.com/watch?v=wdaMD6yQVh4

https://www.youtube.com/watch?v=kQUmZue6-rA

AWS 이용하여 서버를 구축하여 팀원끼리 만나지 않고도 프로젝트를 협업할 있었습니다. 언제 어디서든 접속하여 작업을 진행할 있어서 효율적이었습니다. 그러나 실시간 게임방과 같은 기능을 구현할 때는 소켓을 사용해야 했고, 초기에는 모든 기능이 처음 시도하는 것이었기 때문에 수정 사항을 반영하기 위해 서버 코드를 일일이 수정하고 테스트한 후에야 Git 병합해야 했던 불편함과 번거로움이 있었습니다.

 

AWS RDS 이용하여 데이터베이스 유지 및 관리

 

팀프로젝트를 할 때 항상 똑같은 장소에 만나서 협업을 진행하곤 했는데 이번 프로젝트는 AWS를 이용하여 팀원들과 협업을 하며 서버 생성 과정, 고려해야 될 사항, 장점 및 단점에 대해 알게 되었습니다.

 

4. 아쉬웠던 점

이번 사이드 프로젝트를 진행하면서 좋았던 점이 아쉬웠던 점으로 바뀌었다. 우리끼리 편한 시간대의 일정공유와 계획에는 문제가 없었지만 개인 일정 산정 문제와 협업이 가장 큰 문제였는데 프로젝트를 1월 초에 시작했지만 중간에 팀원들의 개인사정 및 각자의 여러 가지 일정 문제로 인하여 3주 정도 프로젝트 개발이 붕 떠버렸다.

또한 이러한 일정 문제로 인하여 그림을 그리는 사람은 그림이 잘 보였지만, 다른 유저는 그림을 그리는 사람의 커서 클릭 마다 줄이 이어지는 문제를 해결하지 못하고 프로젝트를 마무리했다.

소켓이라는 기술을 처음 사용하였고 소켓으로 거의 모든 기술을 구현해야 했기에 그만큼 어려움이 많았다.

 

5. 앞으로 더 발전해야 하는 점

알고는 있었지만 계획대로 되는 것이 많이 없고 계획대로 진행시킨다는 것은 생각보다 많이 어렵다. 그렇기에 항상 변수를 생각하고 미루지 않고 소통하며 계획 수정에 유연하게 대응할 필요가 있다.

 

소켓에 대해 공부하기

 

다른 사람의 코드를 아직 잘 이해하고 보는 데 어렵지만 최대한 관심 있게 보고 질문하면서 백엔드 역량 키우기

 

 

'개발' 카테고리의 다른 글

정글에서 0주차(정글 익명 게시판 토이 프로젝트)  (1) 2025.03.15
JWT , Refresh 토큰  (0) 2024.04.22
다이노즈 (육아크루) 에서의 4주  (1) 2024.01.05
육아크루에서 2주차(2)  (1) 2023.12.27
육아크루에서 2주차  (0) 2023.12.10