

Rahi is a full-featured antique jewellery e-commerce platform built with a modern Turborepo monorepo architecture. It features role-based dashboards for admin, staff, and customers, a complete shopping experience with product catalog and cart, order management, and real-time tracking. The backend is powered by Hono with Drizzle ORM and PostgreSQL, providing a type-safe and performant data layer.
Next.js 16HonoPostgreSQLDrizzle ORMTanStack QueryBetter AuthTailwind CSS v4Shadcn/UITypeScript
- ▹Role-based dashboards for admin, staff, and customers — manage products, categories, orders, and user accounts.
- ▹Full e-commerce experience: product catalog with categories and filters, shopping cart, checkout flow, and order tracking.
- ▹Image management via Cloudinary integration, location services with Google Maps, and secure authentication using Better Auth.
- ▹Admin panel with granular controls for creating and editing products, managing inventory, and processing orders.
- ▹Responsive, modern UI built with shadcn/ui and Tailwind CSS v4, optimized for both desktop and mobile.
Architecture
├── apps │ ├── web # Next.js 16 Frontend (App Router) │ └── api # Hono Backend ├── packages │ ├── auth # Better Auth (server, client, RBAC) │ ├── shared # Zod schemas, shared types, constants │ ├── db # Drizzle schema, migrations, client │ ├── ui # shadcn components + theme.css │ └── typescript-config # Shared tsconfigs └── turbo.json
- TurborepoMonorepo Architecture
- Drizzle ORMType-Safe Database
- HonoLightweight Backend