EZsmart is a full-stack smart home e-commerce and service platform that combines online shopping, AI-powered recommendations, and professional smart home services into a single integrated system. The platform enables users to purchase smart devices, analyze rooms using AI, request customized smart home solutions, and manage orders, sellers, and services efficiently.
EZsmart aims to modernize smart home adoption by providing:
- A scalable e-commerce marketplace for smart devices
- AI-assisted decision making for home automation
- Integrated professional services (consultation, installation, warranties)
- Role-based dashboards for users, sellers, and administrators
The system is designed to support both individual customers and businesses looking for efficient smart home solutions.
- OTP-based authentication (passwordless)
- Smart device marketplace with discounts and coupons
- AI room analysis and device placement
- OCR-based bulk product matching
- Seller onboarding and analytics dashboard
- Admin management panel
- Secure payments with Stripe
- Appointment booking and custom smart home requests
Users authenticate using email-based OTP verification, ensuring secure and user-friendly access without passwords.
Introduces the smart home ecosystem, showcasing devices such as lighting, cameras, sensors, speakers, thermostats, and control panels. Users can explore automation ideas, AI features, and promotional offers.
Users can browse products using category filters, price ranges, and discount percentages. Each product displays pricing, availability, seller details, and wishlist support.
Allows users to save products, monitor discounts, and add items directly to the cart at any time.
Displays detailed specifications, images, reviews, ratings, and intelligent product recommendations based on similarity and category matching.
Users can manage quantities, apply coupons, and complete secure payments via Stripe. Address management and transparent billing summaries are included.
Users can track order status, view order history, cancel eligible orders, and submit product reviews.
Sellers can manage products, track orders, monitor revenue, and view analytics such as monthly income and top-selling categories.
Admins manage sellers, categories, coupons, appointments, customization requests, and platform activity.
Users upload room images to receive intelligent device placement recommendations using object detection and AI reasoning.
Users upload images of receipts or Excel-style product lists. The system extracts product data, matches it with available products, and enables bulk cart addition.
EZsmart follows a multi-tier architecture:
- Client Layer: Web and Mobile Applications
- Backend Layer: Spring Boot REST API
- AI Layer: Python FastAPI microservice
- Database Layer: PostgreSQL (deployed on Railway)
- External Services: Stripe, Email (SMTP)
- Java 17
- Spring Boot 3.4.2
- Spring Security with JWT
- Spring Data JPA & Hibernate
- PostgreSQL (Railway-hosted)
- Redis
- Stripe Payments Integration
- Java Mail (SMTP)
- Lombok
- Hibernate Types
- Faker (Testing & Data Seeding)
Built using Vite + React with a modern component-based architecture.
- React 18
- Vite
- Material UI (MUI)
- Tailwind CSS
- Styled Components & Emotion
- Redux Toolkit & Redux Thunk
- React Router DOM
- Axios
- Formik & Yup
- Framer Motion
- Chart.js & React Chart.js
- Swiper & Slick Carousel
- React Toastify
- JWT Decode
- Day.js & Moment.js
- AOS (Animations)
- ESLint
- Flutter (Android & iOS)
- Python FastAPI
- YOLO Object Detection
- OCR Engine
- Large Language Models via API
- Embeddings for similarity matching
- Stripe Checkout
- Stripe Webhooks
POST /api/v1/auth/authenticate
POST /api/v1/auth/register
POST /api/v1/auth/request-otp
POST /api/v1/auth/verify-otp
GET /api/profile
POST /api/profile
PUT /api/profile/update
DELETE /api/profile
GET /api/profile/{userId}
GET /api/user/addresses
POST /api/user/addresses
GET /api/cart-items
POST /api/cart-items
PUT /api/cart-items/{cartItemId}
DELETE /api/cart-items/{cartItemId}
DELETE /api/cart-items/clearAll
GET /api/products
GET /api/products/{productId}
GET /api/products/search
GET /api/products/filter
Seller:
GET /api/products/seller
POST /api/products/seller
PUT /api/products/seller/{productId}
DELETE /api/products/seller/{productId}
GET /api/products/sellerProducts/{sellerId}
Admin:
POST /api/products/admin
PUT /api/products/admin/{productId}
DELETE /api/products/admin/{productId}
GET /api/categories
POST /api/categories
GET /api/categories/{id}
PUT /api/categories/{id}
DELETE /api/categories/{id}
GET /api/categories/products
GET /api/categories/{id}/products
GET /api/categories/seller/top-categories
GET /api/favourites
POST /api/favourites
GET /api/favourites/check
DELETE /api/favourites/{id}
GET /api/feedbacks/product/{productId}
GET /api/feedbacks/user/{userId}
POST /api/feedbacks/{productId}
DELETE /api/feedbacks/{id}
GET /api/orders
POST /api/orders
GET /api/orders/{id}
DELETE /api/orders/{id}
PUT /api/orders/{id}/cancel
PUT /api/orders/{id}/status
GET /api/orders/user
POST /api/order-items
GET /api/order-items/{id}
DELETE /api/order-items/{id}
PUT /api/order-items/{id}/status
GET /api/order-items/seller
GET /api/order-items/seller/last-payments
GET /api/order-items/seller/monthly-revenue
GET /api/order-items/seller/total-revenue
GET /api/order-items/seller/stats
POST /api/payments/create-checkout-session
POST /api/payments/webhook
GET /api/coupons
POST /api/coupons
GET /api/coupons/{id}
PUT /api/coupons/{id}
DELETE /api/coupons/{id}
GET /api/coupons/active
GET /api/coupons/code/{code}
GET /api/coupons/validate
PUT /api/coupons/{id}/status
GET /api/sellers
POST /api/sellers
GET /api/sellers/{id}
DELETE /api/sellers/{id}
GET /api/sellers/status
GET /api/sellers/status/{status}
PUT /api/sellers/{id}/status
GET /api/appointments
POST /api/appointments
GET /api/appointments/{userId}
PUT /api/appointments/{id}/status
GET /api/offers
POST /api/offers
GET /api/offers/status/{status}
PUT /api/offers/{id}/status
POST /ai/regenerate-placements
POST /ai/upload/**
flowchart TD
Client --> API
API --> Auth
Auth --> Services
Services --> Database
Services --> Stripe
Services --> AI
Stripe --> API
AI --> API
API --> Client
- JWT-based authentication
- Role-based access control (User, Seller, Admin)
- Secure OTP verification
- Stripe webhook validation
- Input validation and exception handling
A complete visual walkthrough of the EZsmart platform, demonstrating system interfaces, user flows, and core functionality is available at the following link:
The video showcases:
- Authentication and navigation flows
- Product browsing, cart, and checkout
- AI-powered room analysis and OCR features
- Seller dashboard and analytics
- Admin management panels