How kraafter/simpleshortener-svelte works
This SvelteKit link shortener lets visitors browse stored links, create or delete short links with an access key, and resolve a slug to its destination. The home page lists links and submits management forms; its server actions hash access keys and call the add/delete APIs, which validate requests and update Redis. Slug pages look up destinations through the get API and display a redirect. The README documents Redis/Upstash configuration and self-hosting. The sampled sources show these calls; alert pages are grouped because their individual components are simple and their redirects are visible in the server actions.
Main entry points: +page.server.ts Form actions · +page.svelte Home page · add/+server.ts Add API · delete/+server.ts Delete API
Components 10
Web experience
- Home page
src/routes/+page.svelte - Alert pages
src/routes/alert
Link management
- Form actions
src/routes/+page.server.ts - Add API
src/routes/api/add/+server.ts - Delete API
src/routes/api/delete/+server.ts - List API
src/routes/api/list/+server.ts
Slug resolution
- Slug page
src/routes/[slug]/+page.svelte - Lookup API
src/routes/api/get/+server.ts
Persistent storage
- Redis KV
Other components
- Visitor
Connections 11
- Visitor → Home page: opens
src/routes/+page.svelte - Home page → Form actions: submits forms
src/routes/+page.svelte - Home page → List API: fetches links
src/routes/+page.svelte - Form actions → Add API: posts link
src/routes/+page.server.ts - Form actions → Delete API: posts deletion
src/routes/+page.server.ts - Form actions → Alert pages: redirects errors
src/routes/+page.server.ts - Slug page → Lookup API: requests destination
src/routes/[slug]/+page.svelte - Add API → Redis KV: writes link
src/routes/api/add/+server.ts - Delete API → Redis KV: deletes link
src/routes/api/delete/+server.ts - List API → Redis KV: reads all links
src/routes/api/list/+server.ts - Lookup API → Redis KV: reads destination
src/routes/api/get/+server.ts