Team

🗃️ Github

https://github.com/choisooyoung-dev/d-ingco.git

GitHub - KR-EGOIST/tower_defense_game: 스파르타 내일배움캠프 Node.js 게임서버트랙 팀프로젝트 "타워 디펜스 게임 프로젝트"

📽️ 시연 영상

https://youtu.be/oChIP3B2SaM

🗒️ 발표 자료


👣 개인과제

1. 프로젝트


2. 기획 관련 메모

3. WBS & Tasks


🏝️ Ground Rules

✏️09:00~10:00 : 알고리즘 & SQL 풀이

📖10:00~13:00 : 오전공부

🍙13:00~14:00 : 점심식사

📖14:00~18:00 : 오후공부

🍙18:00~19:00 : 저녁식사

📖19:00~21:00 : 저녁공부

📝20:30~21:00 : TIL 작성

*9시 전에 출석 완료하기!
*20분 이상 자리 비울 시 슬랙에 알리기

🚩 Goals

개인 과제, 팀 과제를 성공적으로 제출하기
분쟁없이 잘 마무리하는 것

게임 서버 설계 및 구현
- [✅]  타워 디펜스 게임의 기본 규칙을 이해하고 있다.
- [✅]  게임 서버의 주요 기능 (회원가입, 로그인, 게임 데이터 관리 등)을 설계할 수 있다.
- [✅]  WebSocket을 이용해 클라이언트와 서버 간 실시간 통신을 구현할 수 있다.
- [✅]  클라이언트 요청에 따라 적절한 게임 데이터를 처리하고 응답할 수 있다.

WebSocket 통신
- [✅]  WebSocket의 기본 개념과 HTTP와의 차이점을 이해하고 있다.
- [✅]  Node.js에서 WebSocket 서버를 구축할 수 있다.
- [✅]  클라이언트와 서버 간의 실시간 데이터 전송을 구현할 수 있다.
- [✅]  WebSocket 이벤트를 정의하고 처리할 수 있다.

유저 인증 및 관리
- [✅]  JWT를 이용한 사용자 인증을 구현할 수 있다.
- [✅]  WebSocket 연결 시 JWT를 이용해 사용자 인증을 할 수 있다.
- [✅]  유저 별 게임 데이터를 관리할 수 있다.

게임 로직 구현
- [✅]  몬스터, 타워, 기지 등 게임 요소의 상태와 동작을 정의할 수 있다.
- [✅]  서버에서 게임 상태를 관리하고 클라이언트와 동기화할 수 있다.
- [✅]  게임 오버 조건과 스코어 관리 기능을 구현할 수 있다.

데이터베이스와 연동
- [✅]  데이터베이스 스키마를 설계할 수 있다.
- [✅]  데이터베이스를 이용해 유저 정보와 게임 기록을 저장하고 관리할 수 있다.

프로젝트 관리 및 협업
- [✅]  Git을 사용해 소스 코드 버전 관리를 할 수 있다.
- [✅]  Git branch를 이용해 브랜치 관리 및 협업을 할 수 있다.
- [✅]  Pull Request와 코드 리뷰 과정을 이해하고 준수할 수 있다.

클라이언트 연동 및 테스트
- [✅]  제공된 게임 클라이언트를 이용해 서버와 WebSocket 기반으로 통신할 수 있다.
- [✅]  상태 동기화에 대해서 이해하고 이에 필요한 게임 이벤트들을 정의 할 수 있다.

🕑 회의

회원가입 / 로그인 기능 (REST API로 통신) - 진호님
클라이언트가 서버로부터 수신하는 이벤트 종류 정의 및 코드 구현 (WebSocket으로 통신): ex) 커넥션 성공 이벤트, 커넥션 실패 이벤트, ... - 진호님
클라이언트가 서버로 송신하는 이벤트
게임 시작 이벤트, 게임 오버 이벤트, 유저 별 최고 기록 스코어 저장 - 이슬님
최초 타워 추가 이벤트 - 지호님
타워 구입 이벤트 - 정훈님
몬스터 죽이는 이벤트 - 우성
-------------------------- 도전
타워 환불 기능
특정 타워 업그레이드 기능
보물 고블린 몬스터 출연 기능

🚦 Project Rules

Code Convention

Github Rules

KPT 회고

🌞 계획표

요일 별 상시 업무 [D-5]

📢 SA 서면피드백


4. 와이어프레임

Untitled

5. API 명세서 (구현 기능 안에 상세 설명 추가)

API 명세서

6. 패킷 구조

Node.js 심화 주차 일석4조 팀프로젝트 | Notion

7. ERD DIAGRAM


Untitled.png

Node.js 4기 기획 특강