v0.1.0 — Phase 1: Go Backend + SQLite + Seed Data

- Wails project setup (Go + React-TS)
- SQLite schema (allergens, additives, products, week_plans, plan_entries, special_days)
- 14 EU allergens (LMIV 1169/2011)
- 24 German food additives
- 99 products imported from Excel with allergen/additive mappings
- Full Wails bindings (CRUD for products, week plans, entries, special days)
- OTA updater stub (version check against HTTPS endpoint)
- Pure Go SQLite (no CGO) for easy Windows cross-compilation
This commit is contained in:
clawd
2026-02-20 09:59:36 +00:00
commit c19483ea81
39 changed files with 5638 additions and 0 deletions

54
main.go Normal file
View File

@@ -0,0 +1,54 @@
package main
import (
"context"
"embed"
"log"
"github.com/wailsapp/wails/v2"
"github.com/wailsapp/wails/v2/pkg/options"
"github.com/wailsapp/wails/v2/pkg/options/assetserver"
)
//go:embed all:frontend/dist
var assets embed.FS
func main() {
// Datenbank initialisieren
if err := InitDatabase(); err != nil {
log.Fatalf("Failed to initialize database: %v", err)
}
// Sicherstellen, dass die Datenbank ordnungsgemäß geschlossen wird
defer func() {
if err := CloseDatabase(); err != nil {
log.Printf("Error closing database: %v", err)
}
}()
// Create an instance of the app structure
app := NewApp()
// Create application with options
err := wails.Run(&options.App{
Title: "Speiseplan App",
Width: 1024,
Height: 768,
AssetServer: &assetserver.Options{
Assets: assets,
},
BackgroundColour: &options.RGBA{R: 27, G: 38, B: 54, A: 1},
OnStartup: app.startup,
OnShutdown: func(ctx context.Context) {
// Cleanup beim Beenden
CloseDatabase()
},
Bind: []interface{}{
app,
},
})
if err != nil {
log.Fatalf("Error running application: %v", err)
}
}