A music streaming and DJ platform built with React, Node.js, and Prisma.
- π΅ Music streaming with separate music and podcast sections
- π§ DJ Mode with dual deck mixing
- π€ User authentication (Artist, DJ, Listener roles)
- π€ Track upload with metadata
- π¨ Real-time waveform visualization
- ποΈ BPM detection and key matching
- π Analytics and streaming stats
- React with TypeScript
- Vite
- Tailwind CSS
- Lucide React Icons
- Node.js with Express
- Prisma ORM
- SQLite database
- JWT authentication
- Multer for file uploads
- Nx for workspace management
- Node.js 18+
- npm or yarn
- Clone the repository
git clone https://github.com/shittuay/mixflow.git
cd mixflow
- Install dependencies
npm install
- Set up backend environment variables
cd mixflow/backend
cp .env.example .env
# Edit .env with your configuration
- Initialize the database
cd mixflow/backend
npx prisma migrate dev
npx prisma generate
- Start the development servers
Backend:
npm run dev:backend
# or
cd mixflow && npx nx run backend:serve
Frontend:
npm run dev:frontend
# or
cd mixflow && npx nx run web-app:serve
The frontend will be available at http://localhost:4200
The backend API will be available at http://localhost:3334
The backend is configured to deploy to Render using the render.yaml
file.
- Create a new Web Service on Render
- Connect your GitHub repository
- Render will auto-detect the configuration
- Set environment variables in the Render dashboard
The frontend is configured to deploy to Netlify using the netlify.toml
file.
- Create a new site on Netlify
- Connect your GitHub repository
- Netlify will auto-detect the configuration
- Set the
VITE_API_URL
environment variable to your backend URL
mixflow/
βββ mixflow/
β βββ backend/ # Express.js API
β β βββ src/
β β β βββ config/ # Configuration files
β β β βββ controllers/ # Route controllers
β β β βββ middleware/ # Express middleware
β β β βββ routes/ # API routes
β β β βββ services/ # Business logic
β β βββ prisma/ # Database schema
β βββ web-app/ # React frontend
β β βββ src/
β β βββ app/ # Main application
β β βββ components/ # React components
β β βββ config/ # Frontend configuration
β βββ shared/ # Shared utilities
βββ netlify.toml # Netlify deployment config
βββ render.yaml # Render deployment config
MIT
Contributions are welcome! Please open an issue or submit a pull request.