NovaStream is a full-stack Twitch clone built with Next.js 14, React, Prisma, Tailwind, and PostgreSQL. This project aims to provide a seamless livestreaming experience, allowing users to create, watch, and interact with live streams in real-time.
- 🎥 Streaming using RTMP / WHIP protocols
- 🌍 Generating ingress for live streams
- 🔗 Connecting Next.js app to OBS (Open Broadcaster Software)
- 🔑 Authentication for secure user access
- 🖼️ Thumbnail upload with Uploadthing
- 👁️ Live viewer count to track audience engagement
- 🚦 Live statuses to indicate stream health
- 💬 Real-time chat using sockets for instant communication
- 🎨 Unique color for each viewer in chat for personalization
- 👥 Following system to keep track of favorite streamers
- 🚫 Blocking system to manage unwanted interactions
- 👢 Kicking participants from a stream in real-time
- 📊 Streamer / Creator Dashboard for managing streams
- 🐢 Slow chat mode to enhance conversation quality
- 🔒 Followers only chat mode for exclusive interactions
- 📴 Enable / Disable chat functionality
- 🔽 Collapsible layout (hide sidebars, chat, etc., theatre mode)
- 📚 Sidebar following & recommendations tab for discovering new content
- 🏠 Home page recommending streams, sorted by live first
- 🔍 Search results page with a different layout for easy navigation
- 🔄 Syncing user information to our DB using Webhooks
- 📡 Syncing live status information to our DB using Webhooks
- 🤝 Community tab for fostering user interaction
- 🎨 Beautiful design for an engaging user experience
- ⚡ Blazing fast application for optimal performance
- 📄 SSR (Server-Side Rendering) for improved SEO and performance
- 🗺️ Grouped routes & layouts for better organization
- 🗃️ PostgreSQL DB for robust data management
To get started with NovaStream, follow these steps:
-
Clone the repository:
git clone https://github.com/yourusername/NovaStream.git cd NovaStream