A next-generation web platform for Safwan M P, fitness influencer and trainer. Built for performance, security, and a world-class user/admin experience.
- Linktree-Style Public Page: Modern, mobile-first showcase for Safwan's brand, socials, and content.
- Premium Content & Payments: Sell digital content globally with Stripe (INR, USD, EUR, GBP supported).
- Admin Dashboard: Secure, sidebar-based dashboard for content management, file uploads, and analytics.
- Supabase Integration: Auth, database, and storage with Row Level Security.
- Dynamic Previews: Auto image/link previews using Open Graph.
- Glassmorphism UI: Sleek, dark, and professional design with Tailwind CSS.
- Mobile & Desktop Ready: Fully responsive, fast, and accessible.
- Easy Customization: Update profile, branding, and content in minutes.
- Frontend: Next.js (App Router, TypeScript), Tailwind CSS
- Backend: Supabase (Auth, Database, Storage)
- Payments: Stripe Checkout (multi-currency)
- Previews: Open Graph API
- Clone the repository
git clone <repo-url> cd safwan
- Install dependencies
npm install
- Configure environment variables
- Copy
.env.exampleto.env.localand fill in your Supabase and Stripe keys.
- Copy
- Run the development server
npm run dev
- Access the app
- Public:
http://localhost:3000/content - Admin:
http://localhost:3000/admin/dashboard
- Public:
NEXT_PUBLIC_SUPABASE_URL– Supabase project URLNEXT_PUBLIC_SUPABASE_ANON_KEY– Supabase anon keySTRIPE_SECRET_KEY– Stripe secret keyNEXT_PUBLIC_BASE_URL– Your site base URL
- Table:
content(id, title, description, price, currency, file_url, link, type, created_at) - Storage:
content-filesbucket - Policies: Secure RLS for all data
- Enable Checkout in Stripe dashboard
- Add supported currencies (INR, USD, EUR, GBP)
- (Optional) Set webhook for payment success
- Profile & Socials: Edit in
src/app/content/page.tsx - Branding: Favicon and theme in
src/app/layout.tsx
MIT License. See LICENSE for details.
Created by Nishal K (Demonking.___) for Safwan M P