feat: add WannPassts booking app with Go backend and Vue frontend
Initial project setup for a privacy-focused, self-hosted scheduling app: - Go backend with JWT auth, SQLite storage, and chi router - Calendar integrations via Google OAuth (FreeBusy), CalDAV, and ICS links - Public booking pages with configurable slots and booking requests - AES-256-GCM encryption for stored provider tokens - Vue 3 + TypeScript frontend with Vite, Pinia, and Vue Router - Docs, .gitignore, and .env.example for local development
This commit is contained in:
commit
cb30223fd4
47 changed files with 6599 additions and 0 deletions
33
backend/.env.example
Normal file
33
backend/.env.example
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# ─── WannPassts Backend Konfiguration ────────────────────────────────────────
|
||||
# Diese Datei nach backend/.env kopieren und anpassen.
|
||||
|
||||
# HTTP-Port des Backends
|
||||
PORT=8080
|
||||
|
||||
# SQLite-Datenbankdatei (relativ zum backend-Verzeichnis)
|
||||
DB_PATH=wannpassts.db
|
||||
|
||||
# Öffentliche URL des Backends (wichtig für den Google-OAuth-Redirect!)
|
||||
APP_URL=http://localhost:8080
|
||||
|
||||
# URL des Frontends (dev: Vite, prod: gleiche Origin wie StaticDir)
|
||||
FRONTEND_URL=http://localhost:5173
|
||||
|
||||
# Statische Secrets – in Produktion zwingend setzen (z. B. `openssl rand -hex 32`)
|
||||
# JWT_SECRET sichert Logins, ENCRYPTION_KEY verschlüsselt gespeicherte Kalender-Tokens.
|
||||
JWT_SECRET=
|
||||
ENCRYPTION_KEY=
|
||||
|
||||
# ─── Google Kalender (OAuth) ─────────────────────────────────────────────────
|
||||
# 1. https://console.cloud.google.com → Projekt anlegen
|
||||
# 2. APIs & Services → „Google Calendar API“ aktivieren
|
||||
# 3. OAuth-Zustimmungsbildschirm: External, Scope calendar.readonly
|
||||
# 4. Credentials → OAuth-Client-ID (Webanwendung)
|
||||
# Autorisierte Redirect-URI: {APP_URL}/api/calendars/google/callback
|
||||
# (lokal also http://localhost:8080/api/calendars/google/callback)
|
||||
GOOGLE_CLIENT_ID=
|
||||
GOOGLE_CLIENT_SECRET=
|
||||
|
||||
# ─── Optional: Frontend-Build direkt ausliefern (Produktion) ────────────────
|
||||
# cd frontend && npm run build → STATIC_DIR=../frontend/dist
|
||||
STATIC_DIR=
|
||||
Loading…
Add table
Add a link
Reference in a new issue