E-commerce web app with public store, user profile, and admin panel






This project is a production-ready e-commerce web application consisting of a public shopping interface, a user profile area, and a dedicated admin panel. An advanced analytics dashboard has also been added to the admin panel, covering revenue analysis, user growth, best-selling products, category sales share, and conversion funnel across configurable time ranges. The overall architecture includes a backend built with Node.js and Express and a frontend developed using Next.js. The frontend communicates with the backend through RESTful APIs. Authentication (JWT & OTP) and business logic are implemented on the backend, while access to protected areas such as the admin panel is controlled in the UI based on user roles (ADMIN / SUPER_ADMIN). My primary focus on the frontend was server-state management, stable API integration, role-based UI access control, performance optimization, and maintaining a reliable user experience in complex flows such as cart management and checkout.
Front-End Developer (Next.js / React) Responsible for frontend architecture design, full UI implementation, API integration, server-state management, admin dashboard development, role-based UI control, and client-side performance optimization. The backend (API, database, authentication logic, payment processing, inventory management) was implemented by a backend developer. My focus was entirely on frontend architecture and building a robust, scalable interface that interacts reliably with the APIs.
Instead of relying on local state, TanStack Query was used to handle server data, enabling caching, automatic request deduplication, predictable loading/error states, and precise invalidation after mutations.
Query keys were centrally structured (e.g. products, adminProducts, product(id), cart, coupons) to prevent cache duplication and allow fine-grained invalidation.
In the Analytics section, query keys were designed around startDate, endDate, and groupBy so that each chart has its own cache; when filters change, only the relevant data is refetched without affecting other sections.
Axios was configured with withCredentials: true to ensure secure cookie-based authentication for protected API routes, providing a stable experience across authenticated flows.
Custom hooks (useProducts, useCart, useCoupons, useCategories, useAuth, etc.) were implemented to isolate data logic from presentational components, improving readability and maintainability.
This project demonstrates that my capabilities extend beyond building simple UIs and include designing frontend architecture for real-world, production-ready e-commerce systems. Managing complex flows such as cart, coupons, payment, and role-based access control reflects my command of stable client–API coordination and server-state management. Adding a data analytics layer and building an analytics dashboard powered by real sales data has elevated this system from a CRUD-focused admin panel to a data-driven platform, and clearly showcases my ability to design scalable, performant frontends aligned with business analytics needs.