Ecommerse

Ecommerse is a modern, full-featured e-commerce platform built with a focus on performance, security, and a seamless shopping experience. It features a robust admin dashboard, secure authentication, Stripe-powered checkout, and a modern, responsive UI.

Key Features & How They Work

  • Authentication & User Management:
    • Sign up/sign in with email/password and Google OAuth for secure, flexible access.
    • JWT-based sessions, role-based access (admin/user), and profile management with avatar and email.
  • Product Catalog & Management:
    • Browse, search, and filter products by category and brand.
    • Detailed product views with images, stock status, and user reviews/ratings.
    • Admins can add, edit, delete, and manage product stock and images.
  • Shopping Cart & Checkout:
    • Persistent cart management with quantity controls and localStorage support.
    • Secure, multi-step Stripe checkout with address and payment forms.
    • Order confirmation and in-app order status tracking for users.
  • Order Management:
    • Users can view order history and details, including payment and delivery status.
    • Admins can view, dispatch, and mark orders as delivered, with efficient data grid management.
  • Admin Dashboard & Analytics:
    • Stats overview for sales, products, orders, users, and paid/unpaid orders.
    • Sales and order analytics with interactive charts (Chart.js).
    • Data grids for managing products and orders efficiently.
  • UI/UX & Community:
    • Responsive, mobile-friendly design with dark/light mode support.
    • Toast notifications for user feedback, avatar/user menu, and advanced search/category navigation.

Technologies Used

  • Next.js & React (frontend, SSR, routing, UI)
  • TypeScript (type safety)
  • Tailwind CSS & MUI (styling, responsive UI, admin dashboards)
  • Prisma ORM (database access, migrations)
  • NextAuth.js (authentication, Google OAuth, JWT sessions, role-based access)
  • Stripe (secure payment processing, checkout)
  • Axios (API requests)

Security, Error Handling & Performance

  • Input validation and sanitization with Zod and React Hook Form
  • Secure authentication with NextAuth.js (JWT, OAuth)
  • Role-based access control for admin/user features
  • PCI-compliant Stripe payment processing
  • Admin-only features protected at UI and API levels
  • User-friendly error messages and toast notifications
  • Efficient state management and data access
  • Session management and secure token storage