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
12 lines
659 B
XML
12 lines
659 B
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48">
|
|
<defs>
|
|
<linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
|
|
<stop offset="0" stop-color="#7db0ff"/>
|
|
<stop offset="1" stop-color="#b78cff"/>
|
|
</linearGradient>
|
|
</defs>
|
|
<rect x="4" y="6" width="40" height="38" rx="11" fill="#0b0f1a" stroke="url(#g)" stroke-width="2.5"/>
|
|
<rect x="4" y="6" width="40" height="10" rx="5" fill="url(#g)" opacity="0.35"/>
|
|
<path d="M15 3.5v6M33 3.5v6" stroke="url(#g)" stroke-width="3" stroke-linecap="round"/>
|
|
<path d="M15 26.5l6 6 12-12" stroke="url(#g)" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
|
|
</svg>
|