The future of video streaming — redefined by MERN.
Upload. Stream. Engage. Repeat.
StreamHorizon is a sleek and scalable video streaming platform built on the MERN stack (MongoDB, Express.js, React.js, Node.js). Think YouTube meets minimalism — users can upload videos, watch content in HD, interact with creators, and explore trending content with lightning-fast performance.
Whether you're a content creator, binge-watcher, or just love beautiful code — StreamHorizon delivers.
- 🎥 Video Uploading — MP4, WebM supported with real-time progress
- ⚡ Seamless Streaming — Adaptive playback with low-latency delivery
- ❤️ Like & Comment System — Engage with videos & creators
- 🔍 Advanced Search & Tags — Discover trending and related content
- 🧑🚀 User Profiles & Auth — Sign up, sign in, customize your profile
- 🧠 Smart Backend — Optimized API with JWT auth and Mongo aggregation
Layer | Tech |
---|---|
💻 Frontend | React.js, Tailwind CSS |
🔌 Backend | Node.js, Express.js |
🧠 Database | MongoDB + Mongoose |
🔐 Auth | JWT + bcrypt |
☁️ Storage | Cloudinary / AWS S3 |
🎞️ Video | HTML5 Video, ffmpeg |
- Node.js (v14+)
- MongoDB
- Cloudinary (or S3) account
- ffmpeg (optional, for compression)
# Clone the repo
git clone https://github.com/yourusername/streamhorizon.git
cd streamhorizon
# Install backend dependencies
cd backend
npm install
# Configure environment variables
cp .env.example .env
# Start backend server
npm run dev
# Open new terminal & install frontend dependencies
cd frontend
npm install
# Start React app
npm start
Create a .env
file in /backend
:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
streamhorizon/
├── backend/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ └── server.js
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── context/
│ │ └── App.js
└── README.md
- 📝 Video descriptions with Markdown
- ⏱️ Watch history & resume playback
- 💬 Real-time chat during livestream
- 🧠 AI-based video recommendations
- 💸 Creator monetization & donations
Will be uploaded after some ui changes. Development under process
We love contributors! 🖤
- Fork the repo
- Create your feature branch:
git checkout -b feature/YourFeature
- Commit your changes:
git commit -m 'feat: add cool feature'
- Push to the branch:
git push origin feature/YourFeature
- Open a Pull Request
Licensed under the MIT License. See LICENSE
for details.