Skip to content
View livepayout's full-sized avatar

Block or report livepayout

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
livepayout/README.md

Fullstack Twitch Clone: Next.js 14, Livestreaming, React, Prisma, Stripe, Tailwind, MySQL

Twitch Clone Thumbnail (3)

This is a repository for Fullstack Trello Clone: Next.js 14, Livestreaming, React, Prisma, Stripe, Tailwind, MySQL

VIDEO TUTORIAL

Key Features:

  • πŸ“‘ Streaming using RTMP / WHIP protocols
  • 🌐 Generating ingress
  • πŸ”— Connecting Next.js app to OBS / Your favorite streaming software
  • πŸ” Authentication
  • πŸ“Έ Thumbnail upload
  • πŸ‘€ Live viewer count
  • 🚦 Live statuses
  • πŸ’¬ Real-time chat using sockets
  • 🎨 Unique color for each viewer in chat
  • πŸ‘₯ Following system
  • 🚫 Blocking system
  • πŸ‘’ Kicking participants from a stream in real-time
  • πŸŽ›οΈ Streamer / Creator Dashboard
  • 🐒 Slow chat mode
  • πŸ”’ Followers only chat mode
  • πŸ“΄ Enable / Disable chat
  • πŸ”½ Collapsible layout (hide sidebars, chat etc, theatre mode etc.)
  • πŸ“š Sidebar following & recommendations tab
  • 🏠 Home page recommending streams, sorted by live first
  • πŸ” Search results page with a different layout
  • πŸ”„ Syncing user information to our DB using Webhooks
  • πŸ“‘ Syncing live status information to our DB using Webhooks
  • 🀝 Community tab
  • 🎨 Beautiful design
  • ⚑ Blazing fast application
  • πŸ“„ SSR (Server-Side Rendering)
  • πŸ—ΊοΈ Grouped routes & layouts
  • πŸ—ƒοΈ MySQL
  • πŸš€ Deployment

Prerequisites

Node version 18.17 or later

Cloning the repository

git clone https://github.com/AntonioErdeljac/next14-twitch-clone.git

Install packages

npm i

Setup .env file

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/
CLERK_WEBHOOK_SECRET=
DATABASE_URL=
LIVEKIT_API_URL=
LIVEKIT_API_KEY=
LIVEKIT_API_SECRET=
NEXT_PUBLIC_LIVEKIT_WS_URL=

UPLOADTHING_SECRET=
UPLOADTHING_APP_ID=

Setup Prisma

Add MySQL Database (I used PlanetScale)

npx prisma generate
npx prisma db push

Start the app

npm run dev

Available commands

Running commands with npm npm run [command]

command description
dev Starts a development instance of the app

Popular repositories Loading

  1. livepayout livepayout Public

    TypeScript