← Back to projects

WEBSITE

Daily Need Items E-commerce (DNI)

Microservice e-commerce platform featuring product catalog, cart, checkout, payment, order, and warehouse management. Built using event-driven architecture with RabbitMQ, CQRS read models, and polyglot databases for scalable order and inventory processing.

ReactTypeScriptRedux ToolkitTailwind CSSLaravelNode.jsExpressRabbitMQMySQLPostgreSQLMongoDBPrismaDockerGitHub
Daily Need Items E-commerce (DNI)

Front-End Functions

  • Storefront: home, categories, product listing, product detail, cart, and Stripe checkout.
  • Authentication with JWT and OAuth social login.
  • User account: profile, addresses, payment methods, orders, vouchers, coins, and notifications.
  • State management with Redux Toolkit and integration with microservice APIs.

Backend Functions

  • Authentication service with JWT access/refresh tokens and OAuth login.
  • Microservices for product, order, warehouse, payment, and delivery services.
  • Event-driven order workflow using RabbitMQ for payment, inventory, and delivery processes.
  • Inventory reservation, stock updates, and warehouse movement tracking.
  • Payment service with Stripe integration and webhook handling.

Architecture & Services

  • CQRS architecture with MongoDB read models built from service events.
  • Polyglot persistence: MySQL/PostgreSQL for transactional data and MongoDB for read models.
  • Microservices built with Laravel and Node.js (TypeScript).
  • Asynchronous communication via RabbitMQ message broker.