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