An interactive DJ controller application built with React, TypeScript, and real-time communication.
# 1. Install dependencies
npm install
# 2. Start the development environment
npm run dev
# 3. Access the application
# Frontend: http://localhost:3001
# Backend: http://localhost:8000src/ # Application source
├── components/ # React components
├── store/ # Redux store
└── types/ # TypeScript definitions
app.js # Express server
config/ # Configuration
socketio/ # Socket.IO setup
npm run dev # Start development server with MongoDB
npm run build # Build production application
npm run lint # Run code quality checks
npm run lint:fix # Fix linting issues automatically
npm run type-check # Run TypeScript type checking
npm run test:prod # Test production buildThe development script automatically manages MongoDB. Data is stored in:
/Users/andrewnease/dev/data/
- Frontend: http://localhost:3001/
- Backend: http://localhost:8000/
- MongoDB: mongodb://localhost:27017/
- React 18
- TypeScript
- Material-UI (MUI)
- Redux Toolkit
- Redux Persist
- React Router
- Three.js
- Socket.io Client
- Vite
- Express.js
- Socket.io
- MongoDB
- Mongoose
- ESLint + Prettier
- TypeScript
- Nodemon
- npm-run-all
- Real-time interactive DJ controller interface
- WebSocket-based communication via Socket.io
- Persistent data storage with MongoDB
- Modern React UI with Material-UI components
- State management with Redux Toolkit
- 3D visualizations with Three.js
The project uses:
- Node.js >= 18.x
- npm >= 9.x
| Command | Description |
|---|---|
npm start |
Run production server |
npm run dev |
Start development environment (recommended) |
npm run dev:manual |
Manual development mode (parallel processes) |
npm run build |
Build for production |
npm run lint |
Check code quality |
npm run lint:fix |
Auto-fix linting issues |
npm run type-check |
Verify TypeScript types |
npm run test:prod |
Test production build |
Version: 0.5.0
Author: andigan