Skip to content

burakorkmez/onlyfans

Repository files navigation

OnlyFans but for Horses 🐴

Demo App

Video Tutorial on Youtube

Some Features:

  • βš›οΈ Tech Stack: Next.js 14, TypeScript, Tailwind CSS, Prisma, PostgreSQL, Stripe
  • πŸ” Authentication with Kinde Auth
  • πŸ’Έ Monthly and Annually Subscriptions with Stripe.
  • πŸ’° One Time Payments with Stripe
  • πŸ’΅ Building a Stripe Billing Portal
  • πŸ›’ E-Commerce Store
  • βœ‰ Sending "Successful Payment" Emails to Users
  • ✍️ Creating Posts
  • πŸ’¬ Commenting on Posts
  • ❀️ Liking Posts
  • πŸ”’ Secret Admin Dashboard
  • πŸ“ Data Aggregation with Prisma
  • πŸ–ΌοΈ Edit Profile
  • πŸ“· Image/Video Uploads using Cloudinary
  • πŸ’™ Awesome Landing Page
  • 🌐 Deployment
  • πŸ‘€ And Millions of Other Cool Features
  • βœ… This is a lot of work. Support me by subscribing to the Youtube Channel

Setup .env file

// kinde
KINDE_CLIENT_ID=<get_from_kinde>
KINDE_CLIENT_SECRET=<get_from_kinde>
KINDE_ISSUER_URL=<get_from_kinde>
KINDE_SITE_URL=<get_from_kinde>
KINDE_POST_LOGOUT_REDIRECT_URL=<get_from_kinde>
KINDE_POST_LOGIN_REDIRECT_URL=<get_from_kinde>

// cloduinary
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=<get_from_cloudinary>
NEXT_PUBLIC_CLOUDINARY_API_KEY=<get_from_cloudinary>
CLOUDINARY_API_SECRET=<get_from_cloudinary>

DATABASE_URL=<any_postgres_db_url>

ADMIN_EMAIL=<your_email>

// stripe
STRIPE_SECRET_KEY=<get_from_stripe>
STRIPE_WEBHOOK_SECRET_DEV_KEY=<get_from_stripe>
STRIPE_WEBHOOK_SECRET_LIVE_KEY=<get_from_stripe>
NEXT_PUBLIC_STRIPE_DEV_MONTHLY_URL=<get_from_stripe>
NEXT_PUBLIC_STRIPE_LIVE_MONTHLY_URL=<get_from_stripe>
NEXT_PUBLIC_STRIPE_DEV_YEARLY_URL=<get_from_stripe>
STRIPE_MONTHLY_PLAN_PRICE_ID=<get_from_stripe>
STRIPE_YEARLY_PLAN_PRICE_ID=<get_from_stripe>
STRIPE_BILLING_PORTAL_LINK_DEV=<get_from_stripe>

// resend
RESEND_API_KEY=<get_from_resend>

NEXT_PUBLIC_BASE_URL=http://localhost:3000

Install dependencies

npm install

Start the app

npm run dev


This project is built for "OnlyEducational" purposes. 😳

Timestamps for your convenience:

  • 00:00:00 - App Showcase
  • 00:04:20 - Setup Next.js and ShadCN
  • 00:17:20 - Building the Landing Page
  • 02:00:25 - Building a BaseLayout Component
  • 02:34:00 - Building the Home Page
  • 03:44:00 - Building the Merch Page
  • 04:13:00 - Building the Admin Dashboard Page
  • 05:08:30 - Database Setup and Prisma
  • 05:33:30 - Understanding Auth Callbacks
  • 05:53:40 - Creating Posts
  • 06:06:40 - Fetching and Creating Products
  • 06:23:30 - Archiving Products
  • 06:36:00 - Working on Our Merch Pages
  • 06:47:00 - Update Profile Page
  • 07:17:44 - Data Aggregation with Prisma
  • 07:32:40 - Fetching Posts for the Home Page
  • 07:52:10 - Deleting Posts
  • 07:59:00 - Likes and Comments
  • 08:30:30 - Stripe Subscriptions
  • 09:32:10 - Sending Welcome Emails
  • 09:47:30 - One Time Payments with Stripe
  • 10:31:00 - Sending Receipt Emails
  • 10:44:40 - Aggregating Dashboard Analytics
  • 10:58:30 - Stripe Billing Portal and Small Fixes
  • 11:07:00 - Detailed Deployment Guide

I'll see you in the next one! πŸš€

About

OnlyFans but for Horses 🐴

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published