Files
42_INT_14_transcendence/README.md
2022-11-28 17:26:47 +01:00

62 lines
1.9 KiB
Markdown

### hugo chat :
- [ ]
---
## instructions :
#### global instructions :
- [ ] backend in NestJs
- [ ] frontend any TypeScript framework
- [ ] latest stable version of any library or framework used
- [ ] use only PostgreSQL db
- [ ] single page application
- [ ] navigator back and forward button working
- [ ] works on last Chrome and another browser
- [ ] launch with "docker-compose up --build", put in sgoinfre, in rootless mode
- [ ] can't use bind-mount volumes :
1. docker in VM ?
2. rebuild after changes ?
3. craft own imags with root as unique UID
#### security concerns :
- [ ] hash every passwords in db
- [ ] protection against SQL injections
- [ ] server-side validation of users inputs
- [ ] store credentials in local .env git-ignored
#### user account :
- [ ] login with 42 intranet OAuth system
- [ ] user can choose name, avatar, 2fa (ex texto or Google Authenticator)
- [ ] display user name on site
- [ ] user default avatar if not chosen
- [ ] user can add friends, and see status (online/offline, in game, ...)
- [ ] display stats on user profile (wins, losses, ladderm levelm achievements, ...)
- [ ] public match history (lvl games, ladder, ...)
#### chat :
- [ ] can create chat-rooms (public/private, password protected)
- [ ] send direct messages
- [ ] block other users
- [ ] creators of chat-room are owners, untill they leave
- [ ] chat-room owner can set, change, remove password
- [ ] chat-room owner is administrator and can set other administrators
- [ ] administrators can ban or mute for a time other users
- [ ] send game invitation in chat
- [ ] view user profiles from chat
#### game :
- [ ] play pong with others on website
- [ ] matchmaking system : join a queue untill automatic match
- [ ] faithfull to original pong (1972)
- [ ] customs options (powers up, multiple maps, ...), with a default one
- [ ] reponsive
- [ ] can watch other matchs