A modern web application built with Next.js 15.2.3, Supabase Auth, and shadcn UI components.
- Next.js 15.2.3 - The React framework for production
- Supabase Auth - Authentication and authorization
- shadcn UI - High-quality UI components
- Custom sidebar implementation based on shadcn UI blocks example
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Open http://localhost:3000 with your browser to see the result. Demo here -> [https://clicker-lemon.vercel.app/]
This project uses Supabase Auth for secure authentication. Server-side routes are protected using supabase.auth.getUser()
to validate authentication tokens.
All UI components are built using the shadcn UI library, providing a consistent and accessible interface. The sidebar implementation is custom-built using shadcn UI blocks as a foundation.
The project follows the Next.js 15 App Router structure:
app/
- Application routes and layoutscomponents/
- Reusable UI componentslib/
- Utility functions and shared codepublic/
- Static assets
To learn more about the technologies used in this project:
Deploy your app using Vercel for the best Next.js experience.
grant usage on schema appointmint to authenticated;
GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA "appointmint" TO authenticated;
-- Policy for users to select their own clicks records CREATE POLICY "users_select_own_clicks" ON appointmint.clicks FOR SELECT USING (auth.uid() = id);
-- Policy for users to insert their own clicks records CREATE POLICY "users_insert_own_clicks" ON appointmint.clicks FOR INSERT WITH CHECK (auth.uid() = id);
-- Policy for users to update their own clicks records CREATE POLICY "users_update_own_clicks" ON appointmint.clicks FOR UPDATE USING (auth.uid() = id);