- β Cross-platform port scanning (Windows, macOS, Linux)
- β Platform-specific implementations for network connection detection
- β Process information gathering (PID, name, path, CPU, memory)
- β Process killing functionality with graceful termination
- β Common developer ports scanner (3000, 8080, 5173, etc.)
- β Tauri IPC commands for frontend communication
Key Files Created:
src-tauri/src/models/port.rs- Data modelssrc-tauri/src/platform/windows.rs- Windows network scanningsrc-tauri/src/platform/linux.rs- Linux network scanningsrc-tauri/src/platform/macos.rs- macOS network scanningsrc-tauri/src/services/port_monitor.rs- Port monitoring servicesrc-tauri/src/services/process_manager.rs- Process managementsrc-tauri/src/commands/mod.rs- Tauri commands
- β Modern UI with Tailwind CSS
- β Dark/Light mode toggle with persistence
- β Port grid displaying common developer ports
- β Real-time port status (Free/Occupied/System)
- β Search functionality to filter ports
- β Port detail modal with full process information
- β Kill process functionality with confirmation
- β Quick stats dashboard (free/occupied/system counts)
- β Auto-refresh every 2 seconds
Key Components:
src/components/dashboard/Header.tsx- App header with theme togglesrc/components/dashboard/PortCard.tsx- Individual port cardsrc/components/dashboard/PortGrid.tsx- Grid layout for portssrc/components/dashboard/SearchBar.tsx- Search inputsrc/components/dashboard/PortDetailModal.tsx- Detailed port/process viewsrc/App.tsx- Main application component
- β Zustand for theme management
- β TanStack Query (React Query) for data fetching & caching
- β Custom hooks for port monitoring
- β Automatic background refresh
- β Tailwind CSS with custom theme
- β CSS variables for dark/light mode
- β Responsive design
- β Clean, modern UI components
- β Color-coded port status (green/red/yellow)
# Install dependencies (already done)
npm install
# Run in development mode
npm run tauri:dev
# Build for production
npm run tauri:buildNote: The app is currently running successfully in development mode!
-
Port Monitoring
- Scans common developer ports on startup
- Real-time status updates
- Shows process information for occupied ports
- Distinguishes between user and system processes
-
Search & Filter
- Search by port number
- Search by process name
- Search by status
-
Process Management
- View detailed process information
- Kill processes safely
- Graceful termination with fallback to force kill
-
User Experience
- Dark/Light mode with persistence
- Quick stats overview
- Clean, intuitive interface
- Fast and responsive
When ready to implement Phase 2:
-
Real-time Monitoring Enhancements
- Adjustable refresh intervals
- Pause/resume monitoring
- Activity notifications
-
Port Favorites
- Save frequently checked ports
- Quick access to favorite ports
- Custom port collections
-
System Tray Integration
- Minimize to system tray
- Quick access from tray
- Tray notifications
-
Keyboard Shortcuts
- Ctrl/Cmd+F for search
- Ctrl/Cmd+R for refresh
- ESC to close modals
- Type-safe: End-to-end TypeScript + Rust
- Cross-platform: Windows, macOS, Linux support
- Lightweight: ~3-5MB bundle size (vs 85MB+ for Electron)
- Fast: Native performance through Rust
- Secure: Tauri security model, safe process management
- Modern: React 18, Vite, Tailwind CSS
To test the application:
- Run
npm run tauri:dev - Check if common ports are displayed
- Start a dev server on port 3000 (e.g.,
npx serve -p 3000) - Verify the port shows as "Occupied"
- Click on the port to see details
- Test the kill process functionality
- Toggle dark/light mode
- Test the search functionality
Status: Phase 1 MVP Complete β Ready for: Testing and Phase 2 planning