https://github.com/kei-k23/streamify
Streamify is a streaming web app(like Twitch) that can connect your favorite streaming software. Provide simple communication with your viewers and other essential features that need in streaming application.
https://github.com/kei-k23/streamify
clerk clerkau livekit nextjs nextjs14 postgresql prisma server-actions shadcn-ui typescript typescript4
Last synced: 3 days ago
JSON representation
Streamify is a streaming web app(like Twitch) that can connect your favorite streaming software. Provide simple communication with your viewers and other essential features that need in streaming application.
- Host: GitHub
- URL: https://github.com/kei-k23/streamify
- Owner: Kei-K23
- License: mit
- Created: 2024-01-15T13:44:06.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-15T14:49:06.000Z (over 1 year ago)
- Last Synced: 2025-01-31T15:53:53.078Z (8 months ago)
- Topics: clerk, clerkau, livekit, nextjs, nextjs14, postgresql, prisma, server-actions, shadcn-ui, typescript, typescript4
- Language: TypeScript
- Homepage: https://streamify-sigma.vercel.app
- Size: 365 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Streamify (Streaming web application)
## Overview
Streamify is a streaming web app(like `Twitch`) that can connect your favorite streaming software. Provide simple communication with your viewers and other essential features that need in streaming application.
## Features
Key Features:
- Streaming using RTMP / WHIP streaming protocols
- Connecting Next.js app to OBS / Your favorite streaming software
- Authentication
- Thumbnail upload
- Live viewer count
- Live statuses
- Real-time chat using sockets
- 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.)
- 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
- Grouped routes & layouts
- MySQL
- Deployment## Tech Stack
- Next.js 14 (server action for data mutation)
- Postgresql (Neon cloud)
- Prisma
- Clerk (Auth)
- TypeScript
- Tailwind / ShadcnUI
- Livekit (Video streaming & WebRTC)## Getting Started
### Prerequisites
- Node.js and npm installed on your machine.
- Postgresql database for storing application data.### Installation
1. Clone the repository: `git clone https://github.com/Kei-K23/task-mingle`
2. Navigate to the project directory: `cd your-web-app`
3. Install dependencies: `npm install`
4. Configure environment variables.
5. Start the application locally: `npm run dev`### Configuration
Make sure to set the following environment variables:
- 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=/- NEXT_PUBLIC_UNSPLASH_ACCESS_KEY=
- NEXT_PUBLIC_UNSPLASH_SECRET_KEY=- DATABASE_URL=
- NEXT_PUBLIC_LIVEKIT_WS_URL=
- LIVEKIT_API_KEY=
- LIVEKIT_SECRET_KEY=
- LIVEKIT_API_URL=- UPLOADTHING_SECRET=
- UPLOADTHING_APP_ID=## Contributing
We welcome contributions from the community! If you find a bug or have an idea for an improvement, please open an issue or submit a pull request.
## License
This project is licensed under the [MIT License](LICENSE).
## Acknowledgments
- `Twitch` for the inspiration.
- [Build a Twitch Clone using Next.js 14, React, Prisma, Tailwind, MySQL | Full Course 2023 | Part 1/2](https://youtu.be/a02JAryRPVU?si=m83YYw9EVq2kX7gD) for the inspiration and learning.---
Happy collaborating with streamify! 🚀