System Architecture
NOTE: this is a living document and may not always be up to date. |
System Overview
The scouting site is currently comprised of the following components:
- A Next.js Server
- Relational Database (PostgreSQL)
Component Overviews
Next.js Server
Framework documentation: https://nextjs.org/docs
Next.js
isa full-stack React framework that enables server-side rendering and seamless client-server communication. The Next.js server handlesacts as the bulkcentral ofhub for handling client requests. It authenticates users via Discord OAuth, interacts with the applicationPostgreSQL database to fetch or store scouting data, and serves the frontend UI to users. This setup ensures that only authorized users can access or submit data, while also maintaining a clean separation between the client, backend logic, and ispersistent storage.
PostgreSQL Database
The relational database in this architecture serves as the pointpersistent wherestorage layer for the scouting site. It stores all essential data such as team information, match statistics, user profiles, and scouting submissions. The Next.js server acts as an intermediary, handling data validation, access control, and business logic before reading from or writing to the database. By using a relational database, the system benefits from structured schemas, efficient querying, and strong data integrity—ensuring that all scouting information is reliable and organized.