Version 2 - built with Svelte.
Live: v2.scrt.link
[!WARNING]
This is work-in-progress.
# 1. Install dependencies
pnpm install
# 2. Start DB (via Docker)
pnpm run db:start
# 3. Start sveltekit
pnpm run dev
# Run tests (unit and e2e)
pnpm test
Using Drizzle with Postgres. Runs in Docker locally.
# You will need to set POSTGRES_URL in your production environment
# Reminder to myself: Using 5433 as port to not have conflict with local Postgres: https://stackoverflow.com/a/76448218
pnpm run db:start # Start the docker container
pnpm run db:push # Update your database schema
# Local DB with Docker
docker compose up
To create a production version of your app:
pnpm run build
We use Vercel Cron to cleanup secrets and files.
See src/routes/api/v1/cron/+server.ts
for more info.
You can trigger the cron job locally with:
curl --request POST \
--url 'http://localhost:5173/api/v1/cron' \
--header 'Authorization: Bearer API_SECRET_KEY'
https://www.shadcn-svelte.com/
# Install component (e.g. form)
pnpm dlx shadcn-svelte@latest add form
Translations are done with Paraglide.js by Inlang
# Edit your messages in messages/en.json
# Consider installing the Sherlock IDE Extension
# Visit /demo/paraglide route to view the demo
pnpm inlang:machine-translate # Machine translate missing keys
pnpm inlang:lint
pnpm inlang:editor # Opens visual editor
Implementation based on Lucia
The following login methods are available:
Redirect URI: /login/google/callback
š¦ Project
āāā š src
ā āāā š lib
ā āāā š emails # Email templates
ā
āāā š routes
ā āāā š admin
ā āāā š email-previews # Preview emails (Only works on localhost )
ā
āāā š vite.config.ts # Tailwind setup
In order to ship with confidence we run a set of tests during and after the deployment.
See playwright-tests-published.yml
for more info.
MIT (Code)
CC BY-NC-ND (Creatives)