Introduction

System Architecture

The landing page consists of these parts:

Which is easier to understand with following diagram:
image.png

Admin Dashboard

Our system implements a two-tier auth system to log in.

  1. The Super User: One hard-coded or environment-variable-based account used for initial setup or emergency access.
  2. Google OAuth 2.0:
    • The Whitelist: Access isn't open to any Google account. Only emails ending with @roboteamtwente.nl are permitted.
    • Logic: When a user logs in, the backend checks if the returned Google email exists in the authorized list. If it’s not there, the Spring Boot Security filter returns a 403 Forbidden.

*Adding new users to authorized list: while everyone is technically allowed to login if they are have a @roboteamtwente.nl email, you still have to add them to website's whitelist. It is done in "User Managing" tab on admin's dashboard. It is possible to have a user listed, though deactivated, for book keeping reasons.
image.png

Admin Panel & Content Management

The website isn't just a static landing page; it’s a dynamic CMS. Almost all pages hold content that you are able to edit and manage through the admin panel.




Revision #6
Created 2026-04-14 11:54:16 UTC by Illia Guzerya
Updated 2026-04-15 09:21:20 UTC by Illia Guzerya