I started this project to learn React in a practical way – and not just follow tutorials. I wanted to implement a realistic frontend scenario that includes typical requirements like user authentication, data management, user interactions, and dynamic UI components.
Instead of building my own backend, I consciously chose Supabase – a backend-as-a-service platform that is ideal for learning and prototyping purposes. This allowed me to fully focus on the React ecosystem, including routing, state, component structure, and responsive UI.
GitHub source code: https://github.com/netperformance/shopping


The application provides a simple, but functional digital shopping list, where:
Products can be searched by category
Own products can be added
The shopping list persists (per user)
The user can delete their account and all data independently
Google login is supported
The interface is completely responsive and is based on the shadcn/ui-Toolkit (Radix + TailwindCSS).
An overview of the most important technologies used
React (Vite, TypeScript) – for fast, modern frontend development
Supabase – Auth, database (PostgreSQL), API
shadcn/ui + Tailwind CSS – modern components with easy customizability
Lucide Icons – for UI actions
Supabase RLS (Row Level Security) – for per-user data security
This application is not intended for production use because
no offline functionality is available
no security features such as rate limiting, CAPTCHA, or server-level error handling have been implemented
no GDPR-compliant data storage can be guaranteed
no scaling or fault tolerance has been tested
no storage of products within the database
etc.
