Everything you need to build a Svelte project, powered by sv
.
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
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
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.
A modern, production-ready QR code generation and hosting service built with SvelteKit 5, TypeScript, and Supabase.
- 🎯 QR Code Generation: Create custom QR codes with destination URLs
- 🔗 Short URLs: Auto-generated slugs (or custom for paid users)
- 📊 Analytics: Track scans, geolocation, device info, and referrers
- 💳 Flexible Pricing: Free tier, one-time permanent, and subscription plans
- 🎨 Customization: Color, logo, and size options for subscribers
- 🔐 Magic Link Auth: Passwordless email authentication
- 📱 Responsive Design: Works seamlessly on all devices
- 👨💼 Admin Dashboard: Manage all codes and users
- Frontend: SvelteKit 5 + Svelte 5 Runes
- Backend: SvelteKit Server Routes
- Database: Supabase (PostgreSQL)
- Authentication: Magic Link (Email)
- Payments: Stripe
- QR Generation: qrcode library
- TypeScript: Full type safety
- Node.js 18+
- npm or pnpm
- Supabase account
- Stripe account
- Clone the repository
git clone https://github.com/yourusername/qr-host.git
cd qr-host
- Install dependencies
npm install
- Set up environment variables
cp .env.example .env
# Edit .env with your credentials
- Set up Supabase
- Create a new Supabase project
- Run the SQL schema from
src/lib/server/db/schema.sql
- Copy your project URL and keys to
.env
- Set up Stripe
- Create products in Stripe dashboard
- Copy price IDs to
.env
- Set up webhook endpoint:
https://yourdomain.com/api/stripe/webhook
- Run development server
npm run dev
Visit http://localhost:5173
- Free: 30 days or 1000 redirects
- One-Time Permanent: £100 per code
- Monthly Unlimited: £5/month
- Yearly Unlimited: £50/year
See PROJECT_STRUCTURE.md
for detailed folder organization.
npm install -g vercel
vercel
docker build -t qr-host .
docker run -p 3000:3000 qr-host
npm run build
node build
See .env.example
for all required variables.
MIT
For issues and questions, please open a GitHub issue.