2022-11-24 14:06:05 +01:00
2022-10-04 18:43:55 +02:00
2022-11-24 14:06:05 +01:00
2022-10-16 20:08:49 +02:00
2022-10-09 15:04:09 +02:00
2022-10-04 17:24:01 +02:00

questions :

  • choose a secondary browser
  • choose solution to rootless mode (VM, rebuild, unique root uid)
  • choose 2fa method : texto ? Google Authentication ?
  • when chat-room owner leaves what happens ?
  • can chat-room administrators ban and mute other administrators ?
  • game technologie (canvas ?)

tasks :

luke

  • getting started with Javascript
  • getting started with Node.js/Nest.js
  • pong game solo front-end (canvas ? js ?)
  • add multiplayers to Pong with Node.js (without database, accounts, ...)

eric

  • getting started with Javascript
  • getting started with framework TypeScript front-end (Svelte ?)
  • single-page démo, sans back-end
  • chat front-end ? (tester avec des messages random locaux)

hugo

  • getting started with Javascript
  • getting started with Node.js/Nest.js
  • getting started with PostgreSQL

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
Description
No description provided
Readme 67 MiB
Languages
TypeScript 66.7%
Svelte 30.2%
Shell 1.6%
JavaScript 0.6%
CSS 0.4%
Other 0.5%