실시간 대전 핑퐁 웹 게임 프로젝트입니다.
- Profil - 친구 추가/차단, DM, 2차비밀번호 설정/해제, PingPong 전적, 유저상태(오프라인, 온라인, 게임중)
- PingPong - 실시간 매칭, 관전, 난이도 모드, 도전장기능
- Chat - 기본방, 비밀방, 방장(강퇴, 밴, 음소거설정/해제)
프로젝트는 docker-compose로 구성되어 있습니다.
google api 또는 42api의 클라이언트 아이디와 시크릿키를 준비해야하며, 없다면 각 사이트에서 발급해야 합니다.
프로젝트를 실행시키는 방법은 다음과 같습니다.
-
.env_template 파일을 통해 .env를 설정해줍니다. 설정해야 하는 항목은 다음과 같습니다.
- POSTGRES_USER : 디비 초기화 유저.
- POSTGRES_PASSWORD : 디비 초기화 유저 비번.
- POSTGRES_ROOT_PASSWORD : 디비 초기화 루트 비번.
- NESTJS_USER : nestjs에서 DB에 접속할 때 사용하는 유저 ID (POSTGRES_USER와 동일해야 함)
- NESTJS_PASSWORD : nestjs에서 DB에 접속할 때 사용하는 유저 PW (POSTGRES_PASSWORD와 동일해야 함)
- SERVER_HOST : 서버의 호스트 네임
- AUTH_CLIENT_ID : 42api 클라이언트 ID.
- ACCESS_SECRET : 42api 보안 secret key 및 JWT Token을 생성할 때 사용하는 비밀 문자열. (키가 없다면 복잡하게 설정해야 함)
- AUTH_CALLBACK_URL : 42api 접근 성공시 받을 콜백주소.
- GOOGLE_AUTH_CLIENT_ID : google api 클라이언트 ID.
- GOOGLE_ACCESS_SECRET : google api 보안 secret key
- GOOGLE_AUTH_CALLBACK_URL : google api 접근 성공시 받을 콜백주소.
- HOST_2FA : 메일 호스트 주소.
- USER_2FA : 코드전송 시 사용할 나의 메일 주소.
- PASS_2FA : 코드전송 시 사용할 나의 메일 비번.
-
make 합니다.
이 프로젝트는 크롬과 사파리 브라우저에서 테스트되었습니다.