Stream Flow is a full-stack music streaming application where users can register, log in, upload tracks, and stream music.
Built with Node.js, Express, MongoDB, and structured for easy integration with a modern frontend (React, Next.js, or any SPA).
🌐 [https://stream-flow-api.onrender.com/]
Backend: server/ ├── config/ # DB config, environment setup ├── controllers/ # Logic for auth, music, user ├── models/ # Mongoose schemas ├── routes/ # API endpoints ├── middleware/ # Auth, upload, error handling ├── uploads/ # Uploaded files ├── util/ # Utility functions ├── app.js # Express app ├── server.js # HTTP server ├── .env.example # Environment variables template └── README.md
Frontend: client/ ├── Folder/ # comment ├── Folder/ # comment ├── Folder/ # comment ├── Folder/ # comment ├── Folder/ # comment ├── Folder/ # comment ├── Folder/ # comment ├── File.js # comment ├── File.js # comment ├── .env.example # comment └── README.md
- Backend: Node.js, Express.js
- Database: MongoDB + Mongoose
- Auth: JWT
- Uploads: Multer for audio & images
- Frontend: React , tailwind , vite
- Deployment: Ready for Render, Railway, or Vercel (backend only)
# Clone the repository
git clone https://github.com/Zack-River/Stream_Flow.git
cd Stream_Flow
# Install dependencies
npm installCreate a .env file: (or use .env.example)
PORT=5000
MONGO_URI=your_mongodb_connection
JWT_SECRET=your_secret_key# Start server
npm start
# Or run with nodemon for development
npm run dev- 🔑 Secure JWT Auth
- 📁 Upload songs and cover images
- 🎧 Stream music files
- 🗂️ Organized MVC structure
- 🔗 Ready for front-end integration
- Fork it
- Create your feature branch:
git checkout -b feature/foo - Commit changes:
git commit -m 'Add new feature' - Push to branch:
git push origin feature/foo - Open a Pull Request
MIT
Zack River
GitHub