src/backend/README.md
Part of a High-Level Distributed Operating System
Whether or not you call Puter an operating system (we call it a "high-level distributed operating system"), operating systems for devices are a useful reference point to describe the architecture of Puter. If Puter's "hardware" is services, and Puter's "userspace" is the client side of the API, then Puter's "kernel" is the backend.
Puter's backend is composed of:
Puter's backend is not dependent on Puter's frontned. In fact, you could prevent Puter's GUI from ever showing up by disabling PuterHomepageModule. Similarly, you can run Puter's backend with no modules loaded for a completely blank slate, or only include CoreModule and WebModule to quickly build your own backend that's compatible with any of Puter's services.
Puter's Kernel only initializes modules, nothing more. The modules bring a lot of capabilities to the table, however. Within this directory you'll find modules that: