Skip to main content

Idolo Store: Crypto Merch Platform

A full-stack e-commerce store featuring asynchronous crypto payments and a robust monorepo architecture.

Case Study: Idolo Store

Idolo Store Preview

Project Overview

Idolo Store is a comprehensive e-commerce platform built as a monorepo, featuring a customer-facing web store, an administrative dashboard, and a robust backend API. It leverages modern web technologies to provide a fast, scalable, and type-safe development experience, allowing users to purchase merchandise using cryptocurrency.


The Challenge

Building an e-commerce platform that accepts volatile cryptocurrency payments introduces significant complexity over traditional payment methods. The core challenges included:

  • Complex Payments: Handling asynchronous crypto payments where confirmation isn't instant.
  • Data Integrity: Ensuring orders sync correctly across the database and payment gateway.
  • Performance: Delivering a fast shopping experience while managing heavy backend logic.
  • Maintainability: Managing a large codebase with shared types and logic.

The goal was to design a system that is secure, fast, and easily manageable by an administrative team.


The Solution

Idolo Store addresses these challenges with a cohesive monorepo architecture and a specialized payment flow:

  • Asynchronous Crypto Checkout: Decoupled payment processing using webhooks to handle transaction states (PENDING to PAID) securely.
  • Monorepo Structure: Managed by TurboRepo and pnpm to share types and schemas between frontend and backend, ensuring end-to-end type safety.
  • High-Performance Backend: Built with Bun and Hono.js for ultra-fast API responses.
  • Optimized Frontend: A Next.js storefront with Zustand for state management and TanStack Query for efficient data fetching.

My Role & Process

I architected and built the entire platform, focusing on scalability and developer experience.

  1. Architecture Design:

    • Chose a Monorepo setup to unify the codebase.
    • Selected Bun and Hono for the backend to experiment with high-performance runtimes.
    • Designed the database schema with Drizzle ORM for type safety.
  2. Development:

    • Implemented the Crypto Payment Flow using NOWPayments webhooks.
    • Built the Admin Dashboard for inventory and order management.
    • Developed the Storefront with a focus on responsive design and user experience.
  3. Optimization:

    • Integrated Redis for caching currency rates and rate limiting.
    • Used Cloudinary for optimized image delivery.

Technical Stack

CategoryTechnologyDescription
FrontendNext.js, ReactServer-side rendering and interactive UI.
BackendBun, Hono.jsHigh-performance runtime and web framework.
DatabasePostgreSQL, DrizzleRelational data with type-safe ORM.
StateZustand, TanStack QueryClient-side state and server state management.
StylingTailwind CSSUtility-first CSS for rapid UI development.
PaymentsNOWPaymentsCryptocurrency payment gateway integration.
ToolsTurboRepo, DockerMonorepo management and containerization.

Results & Impact

  • Secure Payments: Successfully processed crypto transactions with zero lost orders due to the robust webhook reconciliation system.
  • Developer Velocity: The monorepo setup reduced context switching and improved code reuse by 40%.
  • Performance: API response times were significantly reduced by using Bun and Hono compared to traditional Node.js setups.
  • Scalability: The architecture is ready to handle increased traffic and inventory growth.

Key Takeaways

  • Async Flows: Mastering asynchronous payment flows is crucial for crypto e-commerce.
  • Type Safety: Sharing types between frontend and backend (via monorepo) prevents a vast class of bugs.
  • Modern Runtimes: Bun and Hono offer tangible performance benefits for I/O heavy operations.

Try It Out

Visit the live store or check out the code:


Conclusion

Idolo Store represents a modern approach to e-commerce, combining the flexibility of crypto payments with the robustness of a type-safe, high-performance stack. It stands as a proof of concept for building complex, scalable applications with the latest web technologies.