my home bakery
https://dankbreadmpls.com
- Svelte 76.6%
- TypeScript 19.1%
- CSS 1.8%
- JavaScript 1.3%
- Shell 0.7%
- Other 0.4%
| .vscode | ||
| drizzle | ||
| scripts | ||
| src | ||
| static | ||
| .env.example | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| compose.yml | ||
| deploy.sh | ||
| dev-server.js | ||
| Dockerfile | ||
| drizzle.config.ts | ||
| eslint.config.js | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| svelte.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||
dan k bread
source code behind dankbreadmpls.com
This is my bakery's website.
There's two aspects to it
- homespun static site generator for showcasing my breads and basic info on the bakery.
- frugal ordering system using Venmo for zero-fee payment processing and IMAP for tracking payments via email
It runs on my home server for free. Users provide their email when ordering, but no account setup is needed. Order information is saved client-side and updated via email.
tech stack
- sveltekit with SSR and build-time prerendering, for quick static pages with a lightweight ordering backend
- drizzle + sqlite for persisting order info
- ImapFlow to check for Venmo payment emails
- Open Props for a nice set of CSS "utility" variables for colors, spacing, typography
- utopia for fluid type scaling
- Noun Project for SVG icons ($40/year and money well spent IMO)
- SMTP2GO for sending order emails (free tier)