Om Projektet
AI-Driven Utveckling
Detta projekt är ett exempel på modern utveckling, helt och hållet skapat med hjälp av AI-verktyget Cursor, drivet av språkmodellen Gemini 3 Pro.
Ingen kod har skrivits manuellt. Varje rad kod, från databasstruktur till CSS-styling och logik, är genererad genom dialog med AI-assistenten. Det demonstrerar kraften i modern AI-assisterad mjukvaruutveckling.
Teknikstack
Denna bokningsapplikation är byggd med moderna webbteknologier med fokus på prestanda, enkelhet och användarvänlighet (samt lite nostalgi).
Frontend & Backend
SvelteKit
Fullstack-ramverk som ger en snabb och smidig upplevelse genom server-side rendering (SSR) och progressiv enhancement.
Språk
TypeScript
För typsäkerhet och robust kodbas, vilket minskar buggar och underlättar utveckling.
Databas
SQLite
Körs med better-sqlite3 och WAL-mode (Write-Ahead Logging) för hög prestanda och samtidig läsning/skrivning utan låsningar. Databasen lagras på persistent volym (/data) för att överleva omstarter.
Design
CSS Variables
Ett flexibelt temasystem som hanterar Ljust, Mörkt och C64-läge helt utan CSS-ramverk.
PDF-generering
PDFKit
Server-side PDF-generering för att exportera bokningsscheman som professionella dokument.
Hosting
Fly.io
Deployad på Fly.io med persistent volym för databaslagring och automatisk skalning.
Funktioner
- Bokningssystem: Skapa tider, hantera pauser och unika URL:er med kort ID-format.
- Plats/Länk: Lägg till fysisk plats eller videolänk (Zoom/Teams) för varje bokning.
- Kommentarer: Studenter kan lämna kommentarer vid bokning som endast läraren ser.
- Admin-funktioner: Ägare kan ta bort bokningar och exportera schema som PDF.
- Dela: Enkel kopieringsfunktion för att dela bokningslänkar.
- Race Condition-skydd: Databasnivå-låsning förhindrar dubbelbokningar.
- Autentisering: Säkert inloggningssystem med sessioner.
- Teman: Växla mellan Ljust, Mörkt och retro (C64) utseende.
- Privat/Offentlig: Välj om bokarnas namn ska visas publikt eller endast för ägaren.
Licenser & Kreditering
Detta projekt använder öppen källkod. Här är en lista över de viktigaste komponenterna:
- Svelte & SvelteKit - MIT License
- better-sqlite3 - MIT License
- bcryptjs - MIT License
- VT323 Font - Open Font License (OFL). Designad av Peter Hull.
- PDFKit - MIT License