Skip to content
SG.
All work

[02] FULL-STACK · 2026

Avian BD

A production e-commerce platform for a handcrafted bouquet brand in Bangladesh: storefront, checkout, customer accounts and a full admin panel in one Next.js application.

  • TypeScript
  • Next.js
  • Better Auth
  • Drizzle ORM
  • MySQL
  • Playwright
Avian BD screenshot

01 — OVERVIEW

Avian BD sells handcrafted glitter rose, sunflower and tulip bouquets across Bangladesh. The platform covers the whole business in a single Next.js App Router application: a storefront with catalog, cart and cash-on-delivery checkout, a customer account area, and an admin panel for products, orders, customers, reviews, content and settings.

02 — RESULTS

Lighthouse: SEO 100, Best Practices 100, Accessibility 93 (desktop Performance 87).

03 — MY ROLE: SOLE FULL-STACK ENGINEER

Designed, built and deployed the entire application on my own: data model, API, authentication, storefront, admin panel, email system and production hosting. I also wrote the architecture notes and the automated test suite.

04 — ARCHITECTURE

The backend is organised into domain modules (catalog, cart, orders, delivery, add-ons, reviews, reporting, security) behind a versioned /api/v1 surface, with Drizzle ORM over MySQL and Zod validation at every boundary. Authentication uses Better Auth with email/password, Google sign-in, email verification and password reset. Mutating routes are protected by origin checks and rate limiting.

05 — SHIPPING TO PRODUCTION

The app runs on Hostinger. To fit that environment I moved the database from PostgreSQL to MySQL/MariaDB, switched the build to webpack where Turbopack's PostCSS worker could not run, added an SMTP provider for the hosted mailbox, stored image uploads on the server file system, and added www-to-apex redirects with security headers.

06 — KEY FEATURES

  1. 01Storefront with occasion-first shop layout, category pages, sidebar filters and debounced search
  2. 02Product pages with reviews, wishlist and quick add to cart
  3. 03Product add-ons with quantity and custom text options
  4. 04Cart and cash-on-delivery checkout with district-based delivery fees
  5. 05Bangladesh district and location data for addresses
  6. 06Order confirmation and printable invoices
  7. 07Customer account: profile, order history, invoices and password change
  8. 08Better Auth: email/password, Google sign-in, email verification and link-based password reset
  9. 09Admin dashboard with sales reporting
  10. 10Admin management for products, orders, customers, reviews, FAQs and newsletter subscribers
  11. 11Admin settings for categories, delivery, add-ons, email and security
  12. 12Server-side image upload and replacement for products
  13. 13Transactional emails with React Email, sent through Gmail OAuth or SMTP
  14. 14Omnisend integration for newsletter and marketing email
  15. 15Origin checks, rate limiting and safe redirects on sensitive routes
  16. 16Cookie consent, privacy, terms and cookie policy pages
  17. 17Unit and integration tests with Vitest, end-to-end checks with Playwright
  18. 18Deployed to Hostinger with MySQL, SMTP and security headers
Next projectFarmer to Fridge — Mobile App