Cleaned up the repo and fixed some bugs.

This commit is contained in:
douwe
2026-10-09 13:53:59 +02:00
parent 72dba8bcfa
commit a2a9a773f4
150 changed files with 227 additions and 7106 deletions
+31 -19
View File
@@ -35,12 +35,6 @@ nu aangestuurd vanuit .NET.
docker compose up -d --build
```
Regressietest (draait tegen de draaiende stack; maakt testartikelen en drukt een proefeditie):
```bash
scripts/e2e-test.sh
```
Daarna:
- Website: http://localhost:8080
@@ -76,18 +70,28 @@ proostenkrant.net/
├── src/ProostenKrant/ # Blazor-applicatie
│ ├── Components/Pages/ # Alle pagina's (Razor, static SSR)
│ ├── Services/ # Db, ArticleService, LatexService, auth, uploads
│ └── wwwroot/ # css, fonts, EU-vlag, uploads (volume-mounted)
│ └── wwwroot/ # css, fonts, EU-vlag (resources volume-mounted)
├── deploy/
│ ├── Dockerfile # Build + runtime met texlive (gecachete laag)
│ └── mysql/init.sql # Database-initialisatie
├── compose.yml # app + mysql stack
├── app/ # (legacy) PHP-versie — niet verwijderd, zie hieronder
└── Latex/ # (legacy) origineel krantenontwerp ter referentie
├── resources/
│ ├── archive/ # Gedrukte edities (PDF's)
│ ├── images/
│ │ ├── profiles/ # Profielfoto's (naam = weergavenaam)
│ │ └── articles/ # Artikelafbeeldingen (via website geüpload)
│ └── templates/latex/ # LaTeX-ontwerp ter referentie
└── compose.yml # app + mysql stack
```
De artikel- en profielfoto's uit de PHP-versie worden hergebruikt via volumes:
`app/public/images/articles` en `app/public/images/profiles` worden gekoppeld aan de
uploadmappen van de Blazor-app. De gedrukte PDF's landen in `app/storage/latex`.
De volledige resources-map wordt via volumes aan de app gekoppeld:
- `resources/images` → `wwwroot/resources/images` — profielfoto's en
artikelafbeeldingen. Een profielfoto hoort bij een familielid als de
bestandsnaam (zonder extensie) overeenkomt met de weergavenaam
(`Geert.jpg` → Geert). Een later toegevoegde foto wordt dus automatisch
gekoppeld; een verwijderde foto valt terug op `Unknown.jpg`.
- `resources/archive` → `/app/archive` — de bestaande archief-edities
worden getoond en pas gedrukte kranten worden hier bewaard.
De Europese vlag in de voettekst is een SVG (`src/ProostenKrant/wwwroot/images/european-flag.svg`)
volgens de officiële specificaties (12 gouden sterren, cirkelradius ⅓ van de hoogte).
@@ -103,8 +107,9 @@ volgens de officiële specificaties (12 gouden sterren, cirkelradius ⅓ van de
4. Zet eventueel een reverse proxy met HTTPS (Caddy/nginx) voor `http://server:8080`.
Overweeg de MySQL-poort (`3306`) dicht te zetten in `compose.yml` als de database
niet van buitenaf benodigd is.
5. Backups: `resources/` (repo), `app/public/images/` (foto's) en de mysql-data volume
bevatten alles; `docker compose down -v` verwijdert de data definitief.
5. Backups: de `resources/`-map (foto's, artikelafbeeldingen, archief-PDF's) en
de mysql-data volume bevatten alles; `docker compose down -v` verwijdert de
data definitief.
De eerste build installeert texlive eenmalig (±2 GB, enkele minuten); daarna pakken
Docker-lagen alles en duurt een rebuild seconden.
@@ -116,9 +121,16 @@ Omgevingsvariabelen (of `.env`):
- `DB_HOST`, `DB_NAME`, `DB_USER`, `DB_PASSWORD` — database (standaard `mysql`/`proostenkrant`)
- `UNIVERSAL_PASSWORD` — inlogwachtwoord en paszin (standaard `ProostenKrant2024!`)
Paden (standaarden in `appsettings.json`, sectie `Paths`):
- `StaticArchive` / `LatexOutput` — map voor archief-edities én pas gedrukte
kranten (`archive`, gekoppeld aan `resources/archive`)
- `ResourceImages` — map voor afbeeldingen uit de resources (`resources/images`,
gekoppeld aan `resources/images`; submappen `profiles` en `articles`)
## Legacy PHP-versie
De oude PHP-applicatie staat nog in `app/` en is niet verwijderd; de oude
`docker-compose`-bestanden zijn verplaatst naar `legacy/` zodat Compose automatisch
de Blazor-stack (`compose.yml`) pakt. Zodra de Blazor-versie goedgekeurd is, kunnen
`app/`, `docker/` en `legacy/` worden opgeruimd.
De oude PHP-applicatie is opgeruimd; de foto's en archief-PDF's zijn verplaatst
naar de `resources/`-map. Alleen de oude `docker/`-map (nginx/php-config van de
PHP-versie) staat nog in de repo en kan verwijderd worden — de Blazor-stack
gebruikt enkel `compose.yml` en `deploy/Dockerfile`.