A comprehensive web dashboard for managing local development servers, built with TypeScript, React, and Node.js.
- Concurrent scanning of localhost ports (3000-9000 default range)
- Process identification for open ports
- Cross-platform support (Windows/macOS/Linux)
- Auto-detect project types (Node.js, Python, Ruby, Go, PHP, Java, Rust, Static)
- Intelligent server spawning based on project type
- Stop and restart servers
- Port management with dynamic port changes
- Live log streaming via WebSocket
- Filter by log type (stdout, stderr, system)
- Search functionality
- Log download and clearing
- Auto-scroll with manual override
- Navigate file system to select project directories
- Auto-detect project configuration
- Custom command support for non-standard projects
- Node.js: package.json detection with framework identification (Next.js, React, Vue, Angular, Express, etc.)
- Python: requirements.txt, pyproject.toml, setup.py with framework detection (FastAPI, Flask, Django)
- Ruby: Gemfile detection (Rails, Rack)
- Go: go.mod, go.sum
- PHP: composer.json
- Java: pom.xml, build.gradle
- Rust: Cargo.toml
- Static: Fallback for any directory
- Express.js with TypeScript
- WebSocket for real-time communication
- Process Management with proper cleanup
- Cross-platform compatibility
- React 18 with TypeScript
- Tailwind CSS for styling
- Vite for development and building
- Lucide React for icons
- TypeScript definitions shared between frontend/backend
- Type-safe API communication
- Consistent data structures
# Install dependencies
npm install
# Build all packages
npm run build
# Start development servers
npm run dev- Open http://localhost:3000 in your browser
- Use the Start Server tab to launch development servers
- View running servers in the Dashboard tab
- Monitor logs in real-time in the Logs tab
GET /api/servers- List all serversPOST /api/servers- Start new serverDELETE /api/servers/:id- Stop serverPATCH /api/servers/:id/port- Change port
POST /api/scan-ports- Scan for open portsPOST /api/detect-project- Detect project typePOST /api/browse-directory- Browse directoriesGET /api/health- Health check
- Connection management
- Server control commands
log- Real-time log messagesserver-status- Server state updatesport-scan- Port scan resultserror- Error notifications
- Localhost-only operations
- Input validation and sanitization
- Process isolation and cleanup
- Rate limiting for port scanning
- Safe file system access
ServerDash/
├── backend/ # Express.js server with WebSocket
├── frontend/ # React + TypeScript + Tailwind
├── shared/ # Shared TypeScript types
└── package.json # Workspace configuration
npm run dev- Start both backend and frontendnpm run build- Build all packagesnpm run typecheck- Type checking across workspace
- Backend: Node.js, Express.js, WebSocket, TypeScript
- Frontend: React 18, TypeScript, Tailwind CSS, Vite
- Build Tools: tsx, tsc, Vite, PostCSS
- Package Management: npm workspaces
- Icons: Lucide React
- HTTP Client: Native fetch API
- Real-time: WebSocket with fallback
MIT License - feel free to use and modify for your development needs.