Overview
The schulcloud-client is the Schulcloud's legacy frontend (and thus often called "legacy client"). Most pages are already migrated to the vue-client and all new work should happen there.
Technical Overview
It uses server-side rendering with Handlebars templates served by an Express.js backend.
The integration of Handlebars with Express is done with handlebars-wax as described in this paragraph from the handlebars-wax-docs.
Static files are built with gulp.js.
Integration in the Schulcloud
As shown above, the ingress-controller of the kubernetes-cluster routes to the respective client based on the path. The current routing can be found in the config for the ingress-controller.
Theming
The client can display the site with different themes. The files for each theme are placed in the /themes directory. The theme is selected with the env var SC_THEME.
Local Setup
Clone the repository and proceed like described in the README.
For a minimal setup the schulcloud-server and the vue-client must be running, for a full setup also the file-storage.