Skip to content
Caleb edited this page May 18, 2021 · 4 revisions

Welcome to the LetsCube wiki!

It may get confusing how this webapp works, so I have some documentation here.

Data flow

This may get reworked for the future but for now:

The server stores all rooms in MongoDB. Each room tracks it's users and their attempts. Users get authenticated through the WCA website using Oauth.

When a client loads, it connects to the socket server and asks for the user (/api/me). A 403 response from api/me will make the client assume it's not logged in.

When a client connects to the socket server, the server immediately sends the updated list of rooms. From there, the client displays them.

A user can attempt to join a room, the server does a number of checks to determine if the user can. These checks include if the user is banned, if the room is private and requires a password. If any of these fail,

Clone this wiki locally