Skip to main content

Command Palette

Search for a command to run...

SoleSense – Full-Stack Admin Dashboard for E-commerce Shoe Store

Published
3 min read
K

Hi I am Krupa! I’m a Full-Stack Developer focused on building secure, scalable web applications with Java, JavaScript/TypeScript, and Node.js. I take pride in solving challenges like authentication and Single Sign-On. Off work, I’m a 2× marathon finisher and avid photographer, always seeking new adventures.

Introduction

Managing an e-commerce shoe store efficiently requires a robust system to handle products, variants, orders, and analytics. SoleSense is an application that demonstrates a comprehensive approach to building an e-commerce admin dashboard.

The dashboard's purpose is to empower administrators to:

  • Securely manage products and their size-specific variants.

  • Keep a close eye on orders and individual order items.

  • Track stock levels and gain insights from interactive charts.

Tech Stack:

  • Next.js: Frontend framework for routing, SSR, and client-side interactivity.

  • Supabase: Authentication, relational database management, and API endpoints (PostgreSQL).

  • Tailwind CSS: Responsive and clean UI for the admin interface.

  • TypeScript: Type safety and maintainable code.

Try it live: [Live Demo Link]
View the code: [GitHub Repository Link]


Project Goals

SoleSense was built to address the key challenges of building a secure and scalable e-commerce backend. The project's primary goals included:

  • Admin Authentication: Secure login with role-based access using Supabase Auth.

  • Product & Variant Management: CRUD operations and size-specific stock tracking.

  • Order Tracking & Analytics: Monitor orders, top-selling products, and stock levels with interactive charts.

  • Relational Data Modeling: Efficient backend design linking products, variants, orders, and order items with PostgreSQL.

  • Responsive Admin Interface: Clean, user-friendly dashboard built with Tailwind CSS.

System Architecture Overview

SoleSense combines frontend, backend, and database layers to form a scalable and maintainable admin system:

  • Frontend & Server: Built with Next.js, handling routing, SSR, and client-side interactivity.

  • Backend & Database: Powered by Supabase with PostgreSQL relational modeling. Row-Level Security (RLS) ensures secure access.

  • Analytics & Dashboard: Recharts visualizations provide interactive insights for informed decision-making.

  • Frontend Design: Tailwind CSS ensures a responsive, clean, and consistent interface.

Core Entities & Data Modeling

The relational database design ensures data integrity and scalability:

  • Products: Store product information (name, category, description)

  • Product_Variants: Track size-specific stock, linked to products

  • Orders & Order_Items: Record customer orders with associated products, variants, and quantities

  • Users: Admin accounts with secure role-based access

  • Product-Images: Stored in Supabase Storage and linked to products

Highlights:

  • Relational constraints maintain integrity between products, variants, and orders

  • RLS policies enforce secure data access

  • Schema supports scalability for future features, like a user-facing storefront

Lessons Learned & Conclusion

Building SoleSense was a hands-on exercise in full-stack system design, balancing backend architecture, relational data modeling, and frontend usability:

  • Technical Takeaways:

    • Secure authentication and data access using Supabase RLS.

    • Relational data modeling for complex e-commerce entities (products, variants, orders).

    • Interactive data visualization for informed decision-making.

    • Responsive UI design for seamless admin workflows.

    • Building a type-safe codebase with TypeScript to ensure reliability.

Future Scope

To evolve this project into a more complete e-commerce solution, future improvements could include:

  • User-facing Storefront: Building a public site for browsing products, a shopping cart, and a secure checkout process.

  • Payment Integration: Integrating a service like Stripe to handle transactions.

  • Advanced Analytics: Adding more detailed sales reports and inventory alerts.

  • Customer Management: Creating a section to view and manage customer accounts and order history.

More from this blog

Stack Stories

17 posts