Intelidom website
Go to file
Matic Ivešić 6bc5fffda2 Phase 1: self-hosted backend (adapter-node + SQLite) replacing Supabase
Migrate the gallery/admin off the static + Supabase setup to a self-hosted
full-stack app that runs on the home server behind nginx.

- Switch adapter-static -> adapter-node
- SQLite via Drizzle (users, sessions, gallery_images); migrations run on startup
- Server-side session auth (argon2 hashing, httpOnly cookie, SHA-256 stored token,
  sliding expiry) wired through hooks.server.ts
- Admin: server-side login, route guard, gallery upload/delete via form actions
- Public gallery is now SSR from the DB; /uploads/[...path] serves images in dev
- scripts/create-admin.js + db:generate/db:migrate/create-admin npm scripts
- Remove @supabase/supabase-js and the client-side gallery/admin code
- Fix pre-existing imageOnRight boolean prop type in Main.svelte
- ADMIN_SETUP.md rewritten for local dev + home-server deploy (systemd, nginx, backups)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-02 20:54:06 +02:00
drizzle Phase 1: self-hosted backend (adapter-node + SQLite) replacing Supabase 2026-08-02 20:54:06 +02:00
scripts Phase 1: self-hosted backend (adapter-node + SQLite) replacing Supabase 2026-08-02 20:54:06 +02:00
src Phase 1: self-hosted backend (adapter-node + SQLite) replacing Supabase 2026-08-02 20:54:06 +02:00
static Added image-mask to contact element 2025-10-31 23:06:32 +01:00
.env.example Phase 1: self-hosted backend (adapter-node + SQLite) replacing Supabase 2026-08-02 20:54:06 +02:00
.gitignore Phase 1: self-hosted backend (adapter-node + SQLite) replacing Supabase 2026-08-02 20:54:06 +02:00
.npmrc Website redesign 2025-10-21 20:47:58 +02:00
ADMIN_SETUP.md Phase 1: self-hosted backend (adapter-node + SQLite) replacing Supabase 2026-08-02 20:54:06 +02:00
README.md Website redesign 2025-10-21 20:47:58 +02:00
drizzle.config.ts Phase 1: self-hosted backend (adapter-node + SQLite) replacing Supabase 2026-08-02 20:54:06 +02:00
package-lock.json Phase 1: self-hosted backend (adapter-node + SQLite) replacing Supabase 2026-08-02 20:54:06 +02:00
package.json Phase 1: self-hosted backend (adapter-node + SQLite) replacing Supabase 2026-08-02 20:54:06 +02:00
svelte.config.js Phase 1: self-hosted backend (adapter-node + SQLite) replacing Supabase 2026-08-02 20:54:06 +02:00
tsconfig.json Website redesign 2025-10-21 20:47:58 +02:00
vite.config.ts Phase 1: self-hosted backend (adapter-node + SQLite) replacing Supabase 2026-08-02 20:54:06 +02:00

README.md

sv

Everything you need to build a Svelte project, powered by sv.

Creating a project

If you're seeing this, you've probably already done this step. Congrats!

# create a new project in the current directory
npx sv create

# create a new project in my-app
npx sv create my-app

Developing

Once you've created a project and installed dependencies with npm install (or pnpm install or yarn), start a development server:

npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open

Building

To create a production version of your app:

npm run build

You can preview the production build with npm run preview.

To deploy your app, you may need to install an adapter for your target environment.