과학기술정보통신부가 운영하는 42Seoul의 2년 교육과정의 마지막 프로젝트 입니다.
5인 팀 프로젝트로, 회원제 실시간 핑퐁 게임 매칭 서비스로서 친구 관리, 채팅, 게임, 랭킹 등의 기능을 제공합니다.
KimDae-hyun
프로젝트 매니저, 프론트엔드 개발jyhyun97
프론트엔드 개발benelus94
백엔드 개발 - 채팅dev-samin
백엔드 개발 - 인증owel-dev
백엔드 개발 - 게임
HTML
CSS
TypeScript
React
TypeScript
Nest.js
PostgreSQL
Nginx
Docker
Docker-compose
client
React 프로젝트 파일public
이미지 파일, index.htmlsrc
components
pages
styles
types
utils
Server
NestJS 프로젝트 파일src
auth-jwt
auth
로그인, 로그아웃, 2차 인증ban
유저 차단channel
로비에 방 목록 표시와 관련된 기능chat
채팅 방 설정, 채팅 기능common
connect
database
friend
친구 관련 기능game
게임 관련 기능match
게임 매칭과 유저 전적 관련 기능stats
랭킹 관련 기능users
유저 프로필과 관련된 기능
git clone [email protected]:Hi-Transcendence/ft_transcendence.git
cd ft_transcendence
루트
,client
,server
경로에 각각.env
파일 추가.- 루트 경로에서
docker compose up
실행.
- 사용자 비밀번호는 DB에 암호화 되어 저장됩니다.
- 사용자 입력에 대한 SQL Injection 방어.
- 42seoul Oauth 로그인 기능.
- 로그인 후 이메일 발송을 통해 2차 인증 기능 제공.
- 사용자 아이콘에 로컬 이미지 업로드 기능 제공.
- 다른 사용자 친구 추가.
- 친구 추가한 사용자의 상태 추적 가능(온 오프라인, 대기 중, 게임 중).
- 친구 추가한 사용자에게 게임 신청 기능 제공.
- 친구 추가한 사용자에게 DM 보내기 기능 제공.
- 채팅방에 참여한 사람들과 채팅 기능 제공.
- 채팅방에 참여한 사람들에게 게임 신청 기능 제공.
- 특정 사용자 차단 기능.
- 게임방 관리자의 특정 유저 강퇴 및 음소거 기능 제공.
- 로비에서 실시간 게임 매칭 기능 제공.
- 3가지 게임 모드 제공 (일반, 우주 맵, 게임 속도 증가)
- 브라우저 새로고침 되어도 게임 재개 기능 제공
- 랭킹 페이지에서 사용자별 승,패,순위 보기 기능 제공.