Table of Contents
The Pong is a application that provides a chat and 1:1 game service.
- Development period: 2023.3 ~ 2023.5 (10 weeks)
- Notion Document
- Sarang Choi @srngch: Team Leader, Frontend, Backend
- Heehyun Kim @hhkim0729: Frontend
- Chanul Pak @PCHANUL: Backend
- OAuth login
- Two-Factor Authentication
- Set and change nickname and profile image
- Profile page
- Follow/unfollow and block/unblock users
- User status display: online, offline, in-game
- Channel settings: change channel name, type and password
- Channel types:
- Public channels: Chat with all users
- Locked Channel: A public channel that requires a password to enter
- Private Channel: Chat with invited users
- DM: 1:1 chat with another user
- Channel management: create channel, delete channel, invite users to the channel, leave channel
- Manage channel participants:
- Grant/Revoke admin
- Mute: Unable to send messages for 30 seconds
- Kick: Removed from the channel but can re-enter
- Ban: Blocked from the channel, re-entry is not possible
- Random player matching
- Game customization: mods, maps
- Game result history
- Level system
- [FE Development Log] Implementing infinite scroll - Heehyun Kim(@hhkim0729) 👉 Go to read
Install dependencies with...
$ node -v
v18.14.2
$ yarn set version stable
$ yarn --version
3.4.1
- Create an OAuth 2.0 client by referring to the Google Developer Docs.
- In the form filling step, enter
http://localhost/api/v1/auth/google/return
as the value of theredirect URI
. - Copy each value to the
.env
or.env.example
file.GOOGLE_ID
: OAuth client IDGOOGLE_SECRET
: OAuth client secretGOOGLE_CB
: OAuth redirect URI (http://localhost/api/v1/auth/google/return
)
$ git clone https://github.com/team-noir/the-pong
$ cd the-pong
# Set and edit env file
$ cp .env.example .env
$ vi .env
# Run containers
$ docker compose build --no-cache
$ docker compose up -d
# Use Makefile instead of docker-compose
$ make up
$ git clone https://github.com/team-noir/the-pong
$ cd the-pong
# Set and edit env file
$ cp .env.development.example .env.development
$ vi .env.development
#
$ docker compose -f docker-compose-dev.yml --env-file .env.development build --no-cache
$ docker compose -f docker-compose-dev.yml --env-file .env.development up -d
/
├── .github # github settings
├── .vscode # vscode settings
├── backend
│ ├── prisma # database schema
│ ├── src # source code
│ └── test # test code
├── frontend
│ ├── public # static files
│ └── src # source code
└── nginx # nginx config
- Frontend: http://localhost:8080
- Backend API: http://localhost:8080/api
- Backend API Docs(Swagger): http://localhost:8080/api/docs
- Backend socket.io API: http://localhost:8080/socket.io
- Database GUI(Prisma studio): http://localhost:5555