Project-EyeNet is a comprehensive network monitoring and management system built with the MERN stack (MongoDB, Express.js, React, Node.js). It provides real-time network analytics, device management, and security monitoring capabilities.
- Real-time network traffic analysis
- Bandwidth usage monitoring
- Network performance metrics
- Alert system for network issues
- Custom threshold settings
- Comprehensive device inventory
- Real-time device status monitoring
- Device categorization and filtering
- Automated device discovery
- Device performance metrics
- Detailed network performance reports
- Traffic pattern analysis
- Historical data visualization
- Custom report generation
- Export capabilities (PDF, CSV)
- Network security monitoring
- Intrusion detection alerts
- Security incident reporting
- Access control management
- Security policy enforcement
- React.js
- Material-UI
- Redux for state management
- Chart.js for data visualization
- React Router for navigation
- Node.js
- Express.js
- MongoDB
- JWT for authentication
- Socket.IO for real-time updates
- Node.js (v14 or higher)
- MongoDB (v4.4 or higher)
- npm or yarn package manager
- Clone the repository:
git clone https://github.com/tadashijei/Project-EyeNet.git
cd Project-EyeNet- Install all dependencies (frontend, backend, and root):
npm run install-all- Set up environment variables:
- Create
.envfile in backend directory:
- Create
PORT=5005
MONGODB_URI=mongodb://localhost:27017/eyenet
JWT_SECRET=your_jwt_secret- Create
.envfile in frontend directory:
REACT_APP_API_URL=http://localhost:5005/api- Start both servers with a single command:
npm startThis will concurrently run:
- Backend server on port 5005
- Frontend development server on port 3001
You can access:
- Frontend: http://localhost:3001
- Backend API: http://localhost:5005/api
- API Documentation: http://localhost:5005/api-docs
To run both servers in development mode with hot-reloading:
npm run devProject-EyeNet/
├── frontend/
│ ├── public/
│ └── src/
│ ├── components/
│ ├── pages/
│ ├── services/
│ ├── theme/
│ └── routes/
├── backend/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ └── services/
└── docs/
- POST
/api/auth/login- User login - POST
/api/auth/register- User registration - POST
/api/auth/logout- User logout
- GET
/api/network/stats- Get network statistics - GET
/api/network/traffic- Get traffic analysis - GET
/api/network/alerts- Get network alerts
- GET
/api/devices- Get all devices - POST
/api/devices- Add new device - PUT
/api/devices/:id- Update device - DELETE
/api/devices/:id- Remove device
- GET
/api/reports- Get all reports - POST
/api/reports/generate- Generate new report - GET
/api/reports/:id- Get specific report
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Material-UI for the awesome UI components
- Chart.js for the beautiful charts
- The MERN stack community for their invaluable resources