A web-based collaborative music creation platform that enables musicians to work together in real-time, with AI-powered assistance for music composition and arrangement.
This platform allows musicians to:
- Collaborate on music projects in real-time
- Create and edit MIDI and audio tracks together
- Use AI-powered composition assistance
- Share projects and manage collaborations
- Export finished compositions
- Requirements Document - Project vision, features, and user stories
- Architecture Document - Technical architecture and system design
- Project Plan - Development phases and timeline
- Documentation System - Interactive project documentation
- Docker & Docker Compose - For development services
- Node.js 18+ - For backend and frontend development
- Git - Version control
git clone <repository-url>
cd music-collab
cp .env.example .env
# Edit .env with your settings# Start all services (PostgreSQL, Redis, pgAdmin, Redis Commander)
./dev-tools/dev-env.sh start
# Verify services are running
./dev-tools/dev-env.sh statuscd backend
npm install
npm run dev
# Backend runs on http://localhost:3000cd frontend
npm install
npm run dev
# Frontend runs on http://localhost:5173- Frontend: http://localhost:5173
- Backend API: http://localhost:3000
- Documentation: http://localhost:5173/docs
- pgAdmin: http://localhost:5050 (
[email protected]/admin_password) - Redis Commander: http://localhost:8081 (
admin/admin_password)
music-collab/
├── README.md # This overview
├── REQUIREMENTS.md # Project requirements
├── ARCHITECTURE.md # Technical architecture
├── PROJECT-PLAN.md # Development timeline
├── backend/ # Node.js/TypeScript API
│ ├── README.md # Backend-specific documentation
│ ├── src/ # Source code
│ ├── package.json # Dependencies and scripts
│ └── TESTING.md # Testing guide
├── frontend/ # Vue.js 3/TypeScript UI
│ ├── README.md # Frontend-specific documentation
│ ├── src/ # Source code
│ ├── package.json # Dependencies and scripts
│ └── vite.config.ts # Build configuration
├── e2e-tests/ # End-to-end tests
├── dev-tools/ # Development environment
│ ├── docker-compose.yml # Service definitions
│ └── dev-env.sh # Environment management
└── .env.example # Environment variables template
| Service | URL | Purpose | Credentials |
|---|---|---|---|
| PostgreSQL | localhost:5432 |
Primary database | dev_user / dev_password |
| Redis | localhost:6379 |
Caching & sessions | dev_redis_password |
| pgAdmin | http://localhost:5050 | Database management | [email protected] / admin_password |
| Redis Commander | http://localhost:8081 | Redis management | admin / admin_password |
Environment Management:
./dev-tools/dev-env.sh start # Start all services
./dev-tools/dev-env.sh stop # Stop all services
./dev-tools/dev-env.sh status # Check service status
./dev-tools/dev-env.sh logs # View service logs
./dev-tools/dev-env.sh reset # Reset all datacd backend
# Unit tests only (excludes integration tests)
npm run test:unit
# Integration tests (with real database)
npm run test:integration
# Test with coverage reports
npm run test:coverage
# Watch mode for development
npm run test:watch
# Database setup for integration tests
npm run test:db:setupcd frontend
# Unit tests with Vitest
npm run test:unit
# Tests with coverage
npm run test:coverage
# Type checking
npm run type-checkcd e2e-tests
# Run all E2E tests with Playwright
npm test
# Run tests in headed mode (browser visible)
npx playwright test --headed
# Run specific test file
npx playwright test tests/music-platform.spec.ts# Setup test database (automatically run with integration tests)
cd backend && npm run test:db:setup
# Reset main development database
cd backend && npm run db:reset
# View database in Prisma Studio
cd backend && npm run db:studio- Read the project documentation (Requirements, Architecture)
- Check the Project Plan for current priorities
- Set up the development environment following this guide
- Create a feature branch for your changes
- Write tests for new functionality
- Submit a pull request with a clear description
- Backend README - Backend development guide
- Frontend README - Frontend development guide
- Testing Guide - Testing practices and patterns
- Interactive Documentation - Live project documentation
Services won't start:
# Check if ports are already in use
lsof -i :5432 :6379 :5050 :8081
# Reset environment
./dev-tools/dev-env.sh resetDatabase connection issues:
# Check service logs
./dev-tools/dev-env.sh logs
# Verify environment variables
cat .env[License information to be added]
Last updated: June 15, 2025