A real-time network monitoring dashboard built with React, WebSocket, and modern web technologies.
A powerful real-time network monitoring dashboard built with modern web technologies. Monitor your network devices, track bandwidth usage, and manage network activities all in one place.
- Real-time Monitoring: Track device status and network performance in real-time
- Bandwidth Management: Monitor and control bandwidth usage across devices
- Multi-language Support: Full internationalization with English and Indonesian languages
- Theme Customization: Toggle between dark and light themes
- Activity Logging: Comprehensive logging of all network activities
- Data Export: Export network data to CSV format for analysis
- Network Operations Centers: Monitor enterprise network infrastructure
- IT Administration: Track device connectivity and bandwidth usage
- System Administration: Log and analyze network activities
- Bandwidth Management: Implement and monitor bandwidth priorities
- Performance Analysis: Track and export network performance metrics
- React
- WebSocket
- i18next
- TailwindCSS
- Vite
- React-Toastify
project/
β
βββ public/ # Static assets
β βββ index.html # Entry point untuk React
β βββ favicon.ico
β βββ assets/ # Image atau assets lainnya
β
βββ src/ # Source code utama
β βββ components/ # Semua komponen React
β β βββ ui/ # Komponen UI kecil
β β βββ BandwidthPriorityControl.jsx
β β βββ DeviceFilter.jsx
β β βββ BandwidthHistory.jsx
β β βββ ActivityLogger.jsx
β β
β βββ context/ # Context untuk state management
β β βββ ThemeContext.jsx
β β
β βββ hooks/ # Custom React hooks
β β βββ useWebSocket.jsx
β β
β βββ i18n/ # File untuk internasionalisasi
β β βββ en.json
β β βββ id.json
β β βββ i18next.js
β β
β βββ utils/ # Helper functions
β β βββ sanitize.js
β β βββ csvExport.js
β β
β βββ App.jsx # Root komponen React
β βββ index.js # Entry point React
β βββ styles.css # Global styles
β
βββ backend/ # Server WebSocket
β βββ server.js
β
βββ package.json
βββ .gitignore
βββ README.md
βββ vite.config.js # Config untuk Vite (atau gunakan CRA jika perlu)
- Node.js v14 or higher
- npm or yarn
- Git (optional)
- Clone the repository:
git clone <repository-url>
cd network-dashboard
- Install dependencies:
npm install
- Create
.env
file:
PORT=8080
VITE_WS_URL=ws://localhost:8080
- Start the WebSocket server:
npm run start:server
- Start the development server:
npm run dev
Visit http://localhost:5173
to view the dashboard.
npm run dev
: Start development servernpm run build
: Build for productionnpm run preview
: Preview production buildnpm run start:server
: Start WebSocket servernpm run build:css
: Rebuild Tailwind CSS
- Create new components in
src/components/
- Add translations to
src/i18n/en.json
andsrc/i18n/id.json
- Update WebSocket handlers in
NetworkDashboard.jsx
- Add UI components to
src/components/ui/
- Follow React best practices and hooks guidelines
- Use meaningful component and variable names
- Add JSDoc comments for complex functions
- Follow the existing project structure
- Build the frontend:
npm run build
- Configure production environment variables
- Deploy static files from the
dist
directory - Set up WebSocket server with proper security measures
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please read our Contributing Guidelines for details.
-
WebSocket Connection Fails:
- Verify backend server is running
- Check WebSocket URL configuration
- Ensure no firewall blocking
-
Styling Issues:
- Run
npm run build:css
- Clear browser cache
- Check TailwindCSS configuration
- Run
This project is licensed under the MIT License - see the LICENSE file for details.
- React team for the amazing framework
- TailwindCSS team for the utility-first CSS framework
- All contributors who have helped this project grow
Made with β€οΈ by the Network Dashboard Team