./
βββ frontend/
β βββ public/ # index
β β βββ img/ # image files
β βββ src/
β βββ Game/ # game page
β βββ Login/ # login and auth page
β βββ Main/ # game queue, chat, friend list
β βββ Profile/ # user stats and history
β βββ Rank/ # all users leaderboard
β βββ Signup/ # signup page
β βββ Socket/ # handle multi-page socket events
β βββ Util/ # custom axios
β βββ Verify/ # 2fa code verification
βββ backend/
βββ prisma/ # database
βββ src/
βββ auth/ # authentication for login
βββ channel/ # socket based chat
βββ config/ # environment variables
βββ game/ # control game queue
βββ member/ # manage members
βββ pong/ # draw game canvas
βββ prisma/ # prisma ORM
$ git clone https://github.com/WallyPfister/transcendence.git
You have to fill in the env values and change the file name from .env_sample to .env.
For example...
# Two-factor Authentication
MAILER_NAME=[YOUR EMAIL ID]
MAILER_PASS=[YOUR EMAIL PASSWORD]
To run containers in the background mode...
$ make
See what is happening in the containers...
$ make dev
- nickname μ€λ³΅ λ° μ¬μ© λΆκ° λ¬Έμ νμΈ
- μ΅μ΄ κ°μ μ μ¬μ© κ°λ₯ email μ¬λΆ νμΈ
- νλ‘ν μ¬μ§ λ±λ‘
- two-factor μΈμ¦ μ¬μ© μ¬λΆ νμΈ
- 42-Oauth APIλ₯Ό ν΅ν 1μ°¨ μΈμ¦
- nodemailerλ₯Ό μ΄μ©νμ¬ μ μ‘ν μ΄λ©μΌ μ½λλ‘ 2μ°¨ μΈμ¦
- λ‘컬 μ€ν 리μ§μ JWT Access Tokenμ΄ μ‘΄μ¬νλ κ²½μ° λ°λ‘ λ‘κ·ΈμΈ
- JWT Access Tokenμ΄ λ§λ£λ κ²½μ° Refresh Tokenμ ν΅ν΄ μ¬λ°κΈ
- My Profile λ²νΌμ ν΅ν΄ μμ μ profile νμΈ
- μΉκ΅¬ λͺ©λ‘ λλ μ±ν λ°© μ μ λͺ©λ‘μμ μνλ λ©€λ²μ profile νμΈ
- ν΄λΉ λ©€λ²μ level, score, game history λ° λ¬μ± achievement λ± νμΈ
- κ²μ λκΈ°νλ₯Ό μ΄μ©νμ¬ casual λ° ladder κ²μ λλ€ λ§€μΉ
- μΉκ΅¬ λͺ©λ‘ λλ μ±ν λ°© μ μ λͺ©λ‘μμ μνλ λ©€λ² casual κ²μ μ΄λ
- μ΄λμ μλλ°©μκ² μλ½ λ° κ±°μ λ©μμ§ μ μ‘
- μλλ°©μ΄ κ²μ μ΄λ κ±°μ μ μ΄λ κ±°μ μλ΄
- μ€μκ° κ²μ μ§ν μν© λ λλ§
- ladder κ²μμ κ²½μ° κ²°κ³Όμ λ°λΌ point λΆμ¬ λ° pointμ λ°λ₯Έ level λ³κ²½
- achivement λ¬μ± μ λ°μ
- λͺ¨λ λ©€λ²μ μ€μκ° λνΉ μμ νμΈ
- μ±ν
λ£Έ κ°μ€μμ κ²½μ°
Chief Admin
κΆν λΆμ¬ Chief Admin
μ κ²½μ° λ€λ₯Έ μ±ν λ°© λ©€λ²μκ² Admin κΆνμ λΆμ¬νκ±°λ μ κ±°ν μ μμAdmin
κΆνμ κ°μ§ κ²½μ° μ±ν λ°© λ©€λ²λ₯Ό Ban, Kick, Mute ν μ μμBan
: ν΄λΉ μ±ν λ°© μ μ₯ κΈμ§,Kick
: μ±ν λ°© κ°μ ν΄μ₯,Mute
: μΌμ μκ° λν κΈμ§- μΌλ°
Admin
μChief Admin
μκ² κΆν λ°ν λ° κΈ°ν κΈ°λ₯μ μ¬μ©ν μ μμ
- μΉκ΅¬ λ° λΈλ리μ€νΈ λͺ©λ‘ κ΄λ¦¬
- λΈλ리μ€νΈμ μΆκ°λ λ©€λ²μ λ©μμ§λ ν΄λΉ λ©€λ²μκ² λ―Έμ μ‘
- μΉκ΅¬λ‘ λ±λ‘ν λ©€λ²μκ² private message μ μ‘ κ°λ₯
- private messageμ κ²½μ° νλμμΌλ‘ νκΈ°λλ©° κ°μ μ±ν λ°©μ μμ§ μμλ μμ ν μ μμ
[type] : title body #(issue number)
- [FEAT] : μλ‘μ΄ κΈ°λ₯μ μΆκ°
- [MODIFY] : κΈ°λ₯ μμ
- [FIX] : λ²κ·Έ μμ
- [DOCS] : λ¬Έμ μμ
- [STYLE] : CSS λ³κ²½
- [REFACTOR] : μ½λ 리ν©ν λ§
- [MERGE] : ν리νμ€νΈ λ¨Έμ§
- [TEST] : ν μ€νΈ μ½λ μμ±
πΏhyunjcho | π§Έsojoo | πͺsunghkim | πsokim | πyachoi