- JavaScript 75.4%
- CSS 19.3%
- HTML 3.3%
- PHP 2%
| public | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| eslint.config.js | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| server.js | ||
| vite.config.js | ||
🌿 Føns Landhandel — Website Builder
Velkommen til den officielle website builder for Føns Landhandel. Dette er en moderne, fuldt integreret platform designet til at skabe og administrere butiksoplevelser med et intuitivt drag-and-drop interface.
✨ Features
- 🏗️ Drag-and-Drop Builder: Visuel redigering af sektioner (Hero, Tekst/Billeder, Galleri, Features) i realtid.
- 👥 Team Management: Inviter kolleger med specifikke roller (Admin/Editor) via et sikkert SMTP-baseret invitationssystem.
- 🎨 Brand Customization: Styring af farver, typografi og layout-skalering direkte i builderen.
- ⏪ Versionshistorik: Rul tilbage til tidligere gemte versioner af sitet fra de sidste 48 timer.
- 📧 Custom SMTP: Integreret med Stalwart SMTP for pålidelig levering af invitationsmails.
- ☁️ Supabase Integration: Live database-sync af profiler, invitationer og site-data.
🛠 Tech Stack
- Frontend: React 18 + Vite
- Styling: Vanilla CSS (Custom Brand System)
- Database/Auth: Supabase
- Email: Nodemailer (Middleware integration)
- Icons: Lucide React
🚀 Kom i gang
1. Installation
Klon repositoryet og installer afhængigheder:
git clone <repository-url>
cd foenslandhandel.dk
npm install
2. Konfiguration
Opret en .env.local fil i rodmappen med følgende variabler:
# Supabase
VITE_SUPABASE_URL=din_supabase_url
VITE_SUPABASE_ANON_KEY=din_anon_key
# SMTP (Email)
SMTP_HOST=192.168.1.188 # IP til Stalwart server
SMTP_PORT=465 # SSL/TLS Port
SMTP_USER=postmaster # Autentificeret bruger
SMTP_PASS=dit_kodeord
SMTP_FROM=postmaster@innoit.dk
3. Start Development
Kør dev-serveren:
npm run dev
Platformen vil nu være tilgængelig på http://localhost:5173.
📧 SMTP & Emailing
Invitationssystemet kører via en custom Node.js middleware i vite.config.js. Den benytter en premium HTML-skabelon placeret i src/templates/invite-email.html.
For at invitationslinket virker korrekt, skal der være opsat RLS-policies i Supabase for tabellen team_invites, så anon brugere kan verificere deres e-mail før signup.
🏢 Team Roller
| Rolle | Rettigheder |
|---|---|
| Admin | Fuld adgang, Team styring, Version rollback, Sletning af profiler. |
| Editor | Adgang til builder, Gemme ændringer, Udgive site-opdateringer. |
⚖️ Licens
© 2026 Føns Landhandel. Alle rettigheder forbeholdt.