/bye_blackhole

online pingpong website with reactjs, nestjs

Primary LanguageTypeScript

ft_transcendence

이 프로젝트는 42서울 공통과정의 마지막 프로젝트로 온라인 핑퐁사이트를 만드는 것을 목표로 하고 있다.

구현항목

  1. 로그인
    1. 42api를 이용해 로그인이 가능하며, 이메일 인증을 통한 2단계 인증 절차이다.
    2. 첫 로그인시 아바타선택, 닉네임선택이 가능하며, 닉네임은 중복해서 존재할 수 없다.
  2. 로비
    1. 현재 진행되고 있는 게임들의 목록과 채팅방, 접속 유저리스트를 볼 수 있다.
    2. 유저 친추, 전적보기, 차단, 유저를 선택해 게임 등을 할 수 있다.
    3. 게임 목록에서 하나를 선택해 관전이 가능하다.
    4. 게임 매칭 신청이 가능하고, 채팅방 생성을 할 수 있다.
    5. 채팅방에 접속할 수 있다.
  3. 채팅
    1. 채팅방은 protected, public으로 나뉘고 오너와 관리자가 존재한다.
    2. 오너는 채팅방 맴버 차단, 방출, 암호 변경, 관리자 임명이 가능하다.
    3. 관리자는 맴버 차단, 방출이 가능하다.
  4. 게임
    1. 게임에는 일반모드, 스피드모드가 존재한다.
    2. 게임중 튕길경우 패배한다.
    3. 랜덤 매칭을 통한 게임은 랭킹에 반영되고, 유저 선택 게임은 반영되지 않는다.

기술 스택

  1. frontend - react.js
  2. backend - nestjs
  3. db - postgreSQL
  4. docker compose

참고 이미지

playpong chat