This post is meant to be my development guide.
π Main Site β faisaldarbar.com
Stack: Hugo + Giscus + GitHub Pages
- Static content: blog, about, contact
- SEO-optimized and fast
- Newsletter via ConvertKit
- Comments via Giscus
- Hosted on GitHub Pages
β Done and live
ποΈ Storefront β store.faisaldarbar.com
Stack: React + TailwindCSS + Vite
- Static SPA for digital/physical products
- Product catalog and detail pages
- Razorpay Buy Now integration (guest checkout)
- Inventory indicators (in stock, low stock, out of stock)
- Tokenized download links for digital products
- Hosted via GitHub Pages or Netlify (free tier with caution)
π§ Backend API β api.faisaldarbar.com
Stack: Node.js + Express + Prisma + PostgreSQL (self-hosted)
- Razorpay webhook validation
- Order logging and processing
- Generates secure download links (JWT/UUID with expiry)
- Sends transactional emails via Resend
- Stores product and order data in PostgreSQL
- Rate limiting and secure headers with Helmet.js
π Admin Dashboard β admin.faisaldarbar.com
Stack: React + TailwindCSS
- Secure login with password + 2FA (TOTP via otplib)
- Manage products (add/edit/hide)
- View and fulfill orders
- Upload digital files
- View dashboard widgets:
- Sales graphs
- Newsletter stats (via ConvertKit API)
- Download counts
βοΈ Integrations & Services
Service | Purpose |
---|---|
Razorpay | Payment checkout and webhooks |
Resend | Transactional emails (order delivery, receipts) |
ConvertKit | Newsletter and subscriber analytics |
Giscus | Blog comments on Hugo site |
GitHub Pages | Static deployments for Hugo and Storefront |
Cloudflare | Proxying, DNS, custom error pages, and tunnels |
π§± Stack Summary
Layer | Stack |
---|---|
Static Site | Hugo |
Storefront App | React + TailwindCSS |
Admin Dashboard | React + TailwindCSS |
Backend API | Node.js + Express + Prisma |
Database | PostgreSQL (self-hosted) |
Payments | Razorpay |
Emails | Resend |
Newsletter | ConvertKit |
Hosting | GitHub Pages + Proxmox |
π‘οΈ Security & DevOps
.env
+ dotenv for managing secrets- HTTPS via Cloudflare Tunnel + Letβs Encrypt
- Secure headers with helmet.js
- Logging with Winston or Pino
- GitHub Actions for CI/CD pipelines
- Docker for backend deployment on Proxmox
- Custom Cloudflare error pages for power outages
π§ Background Tasks (Future Enhancements)
- Basic webhook retry mechanism (manual or CRON)
- BullMQ + Redis (optional) for scalable job queues
- Email delivery retries
π§ Planned Expansion Ideas
- Dashboard widgets: sales, downloads, subscriber growth
- Analytics dashboard with charts and insights
- Light CRM layer using ConvertKit API
- Affiliate system for digital products
πΊοΈ Build Priority Roadmap
Phase 1 - MVP:
- Hugo site live (β )
- Storefront + API for order/digital delivery
- Admin panel (basic) + 2FA
Phase 2 - Enhanced Functionality:
- Inventory visibility
- Dashboard widgets
- Background job retry logic
Phase 3 - Scaling:
- Redis/BullMQ integration
- Additional roles & permissions
- CRM, analytics, affiliate system
- Multi-user admin dashboard (optional)
- Postgres backups + monitoring tools
- Optional: Self-hosted analytics (Plausible/Umami)
- Optional: File CDN for digital downloads (Cloudflare R2 or Bunny.net)