Online Store is a modern ecommerce application built with Next.js (App Router), TypeScript, Tailwind CSS, Radix UI, and Supabase. It supports two roles: customers (and guests) browse products, manage cart and favorites, place orders, and track purchases; staff manage products (including image uploads and size/color/type variants), view full order receipts, update order status, and monitor dashboard statistics. Authentication uses Supabase Auth with a profiles table and role column (default customer on signup via database trigger). Protected routes hide staff pages from non-staff users by rendering the standard not-found page within the customer layout. Cart and favorites are persisted in Supabase and only available when signed in. The app includes light/dark themes, React Query for data fetching, and a responsive design across devices.