# tibi-starter
Starter Kit für SPAs(s) `;)` mit Svelte und TibiCMS inkl. SSR
## Wozu?
Via Svelte wird eine SPA (Single-Page-App) programmiert. Dazu wird der Code einmal für den Browser aufgebreitet und außerdem für den Server kompiliert und transpiliert. Der Server-Code wird in einem tibi-server SSR-Hook (server side rendering) eingebunden und generiert dort fertiges HTML anhand der aktuelle Route für SEO und optimierte Ladezeiten.
Die Navigation innerhalb der APP im Browser löst dagegen nur API-Aufrufe aus ohne jedesmal einen SSR-Prozess anzustoßen.
Um die SSR-Last so gering wie möglich zu halten, wurde ein Caching in der "ssr"-Collection der API implementiert.
## Toolchain
### git
nach `git clone ...`
```sh
git lfs install
git lfs pull
```
### Abhängigkeiten laden
```sh
yarn install
```
### Entwickeln auf dem Code-Server mit Docker Compose Stack
```sh
make docker-start
# oder
make docker-up
make docker-down
# "make help" zeigt alle Kommandos
```
| UI | URL |
| --- | --- |
| Website | |
| Tibi Admin | |
| Maildev | |
### Bauen
```sh
# moderne Browser
yarn build
# alte Browser (IE11)
yarn build:legacy
# serverseitiges Rendering
yarn build:server
# Admin-Module
yarn build:admin
```