Worklog for task "Organize integration of the new frontend with the existing MODX backend"
This project is a great opportunity to blow the dust off some old skills and be glad at how conveniently certain things were already designed back then :-)
Let me remind you that the main useful tools used on the site back then and which should help us now are console, modxSite, and modxSmarty.
Why and how should they help? It's written here.
And right now, I am seeing this for myself in practice.
First, creating pass requests and retrieving this data. Here, the credit goes to modxSite because it allows you to create your own processors for working with data, with API access available out of the box. So, in the personal account on the frontend, I open devTools and look at the create request:

Here I can see which processor is being called — passes/visitors/create — and what data is being transmitted. That means this can already be plugged into Postman or something similar to execute requests.
But then we take another tool — the console. And even though I haven't written anything there for many years, I didn't even have to write anything this time. It has a code export and import functionality, and here I just selected previously saved debugging code from the list. And that's it. You can run it right in the MODX admin panel :-)

The advantage of this approach is that the logic is completely separated from the presentation. That is, here we simply operate with API requests, transmit pure data, and receive pure data in response. And we can then style the response however we want. Previously, this response was processed by a JavaScript application on the MODX site, but now it will be handled by our new site using completely new technologies. And we won't have to change anything at all in MODX. The new site simply needs to know where to send API requests, and that's it.
Define and implement a secure interaction layer between the new frontend and MODX data and functions.