Microservice Architecture
The philosophy of Fractal Forge is to do it the first time right. This includes splitting the responsibilities of several parts of the application.
For example, many popular (MVC) frameworks in several programming languages, e.g., Django (Python), Symfony/Laravel (PHP), Rails (Ruby) etc., offer a toolkit for backend and frontend software. Backends consist of database management, authentication, data models/objects (via an ORM), business logic and views, as endpoints (i.e., page rendering or API). Frontends are concerned about interfacing with mostly people. A frontend is typically a web interface that can be accessed via a browser.
The MVC frameworks mentioned above tend to blend the backend and frontend into a single (monolithic) application. Which can be perfectly fine for you. However, there are several cases where a proper split between frontend and backend is advised:
- Apart from a web interface, you also want to offer an API (headless application);
- The backend has some specific business logic that is also used elsewhere;
- You want to deploy the software on a cloud provider and want to make use of cloud-native features;
- The software has to be thoroughly tested.
Fractal Forge delivers cloud-native solutions. Furthermore, the applications can directly be deployed on the Google Cloud Platform (GCP) using the also forged Cloud Build pipeline.
Backend
Backends created by Fractal Forge are headless by default. This means the only interface with it is with an API.
Screenshot of the Fractal Forge backend API docs
Frontend
Frontend design is highly depending on your personal (company) wishes. It's virtually impossible to forge something that will work for everyone. Therefore, Fractal Forge delivers an easy to use admin portal for basic interfacing with the backend and its data. Nothing more, nothing less. Comparable to the Django Admin interface. The portal is built with SvelteKit and Node.js.