# Architecture

The web platform is a front-end on top of the Staff++ database.

In the first version of the web platform it was only a view. Meaning we could read data but no changes could be made through the web platform. In the latest version the ability was added to also execute actions such as accepting/rejecting reports.

{% hint style="warning" %}
Actions can only be executed by users that have an account on the web platform and that are registered to your server group. For more information check [register players](/web-platform/register-players.md)
{% endhint %}

The web platform is not changing the data directly in the database. Instead it sends a request for changes to the Staff++ core Minecraft plugin. This architecture has the advantage that all logic is contained within the core plugin and not duplicated inside the web platform. This also means that changes done through the web platform are seen in game same as if the change was done through the MC guis/commands. Meaning report notifications are broadcast in game was well.

The disadvantage of this approach is that on the web platform your changes are not directly visible. It can take up to 10 seconds before changes done through the web platform become visible and if your MC server is down the changes will not come through until your server starts back up again.

![](/files/XlhlTmIcEgpj0Vdkt3bl)

Reading the change request is done periodically by the core plugin every 10 seconds. In a multi server setup the first server that picks up the request will execute it. Because it is only done every 10 seconds the front-end needs to wait for the changes to be processed.

Whenever the changes are processed a message will pop-up on the front-end.

![](/files/jHYuXttO6WFvfbOxTpX9)

This indicates that your changes have been processed and you can refresh the page to view them.

### Permissions

Make sure to give your staff members the correct permission through the web platform

![](/files/9uiUy5qYKxoCJ3J9sz3F)

### Example manage report view

![](/files/36gYiXTFFtUhrYG73Tt6)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.staffplusplus.org/web-platform/architecture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
