Strmr: Video Streaming Platform
A modern video streaming platform built with the T3 Stack, designed for educational content, courses, and learning resources. Strmr provides a complete solution for hosting, managing, and streaming videos to your audience.
Overview
Strmr is a fully-featured video streaming platform that allows creators to upload, organize, and stream video content. Built with modern web technologies and cloud infrastructure, Strmr provides a scalable, reliable platform for video distribution with user authentication, content management, and beautiful video playback.
Features
- Video Streaming: Stream videos with adaptive bitrate using Vidstack player
- User Authentication: Secure login and user management via Supabase
- Video Management: Upload, organize, and manage video content
- Content Categorization: Organize videos by topics and courses
- User Profiles: Personalized user profiles and watch history
- Responsive Design: Beautiful UI that works seamlessly across all devices
- Secure Storage: Files stored securely in Supabase cloud storage
- Search Functionality: Find videos and content easily
Tech Stack
- Framework: Next.js - React framework with server-side rendering
- Styling: Tailwind CSS - Utility-first CSS framework
- UI Components: shadcn/ui - High-quality React components
- Backend & Auth: Supabase - PostgreSQL database and authentication
- ORM: Prisma - Type-safe database operations
- Video Player: Vidstack - Modern web video player
- Language: TypeScript - Type-safe JavaScript
- Project Setup: create-t3-app - T3 Stack scaffold
Getting Started
Prerequisites
- Node.js (v16 or higher)
- npm or pnpm package manager
- Supabase account for backend and authentication
Installation
-
Clone the repository:
Terminal window git clone https://github.com/Abdulkareemoj/Strmr.gitcd Strmr -
Install dependencies:
Terminal window pnpm install -
Set up environment variables:
Terminal window cp .env.example .env.local# Add your Supabase URL and API keys -
Set up the database:
Terminal window pnpm run prisma:push -
Start the development server:
Terminal window pnpm run dev -
Open
http://localhost:3000in your browser
Database Setup
Run Prisma migrations to set up your database schema:
pnpm run prisma:generatepnpm run prisma:pushDeployment
Deploy to Vercel with one click:
vercel deployOr deploy to any Node.js hosting platform with Next.js support.