This project is an advanced management and monitoring system for Gigabit Passive Optical Networks (GPON) tailored for hospitality environments. It provides a comprehensive solution for visualizing network topology, real-time monitoring, historical analysis, and network simulation, significantly improving operational efficiency and service quality in hotel settings.
- Visual Space Management: Intuitive interface for managing hotel buildings, floors, and ONT devices.
- Real-time Monitoring: Live dashboard showing key performance metrics of the GPON network.
- Historical Data Analysis: Detailed historical data views with customizable date ranges and metrics.
- Connectivity Monitoring: Specialized monitoring for WAN services and WLAN networks.
- Network Simulation: Tools for optimizing ONT placement and WiFi channel allocation.
- Integration with Hotel Management Systems: Seamless integration with existing hotel management software (SWH).
- Frontend: React.js
- Backend: FastAPI (Python)
- Database: MongoDB
- Containerization: Docker
- API Documentation: OpenAPI (Swagger)
- Docker and Docker Compose
- Node.js (for local development)
- Python 3.8+ (for local development)
-
Clone the repository:
git clone https://github.com/antocapilla/TFM.git cd gpon-management-system
-
Build and run the Docker containers:
docker-compose up -d
-
Access the application:
- Frontend:
http://localhost:3000
- Backend API:
http://localhost:8000
- API Documentation:
http://localhost:8000/docs
- Frontend:
For local development without Docker:
-
Set up the backend:
cd backend pip install -r requirements.txt uvicorn main:app --reload
-
Set up the frontend:
cd frontend npm install npm start
- Environment variables can be set in the
.env
file for both backend and frontend configurations. - Modify
docker-compose.yml
for container-specific settings.
Refer to the user manual in the docs
folder for detailed usage instructions.
Contributions are welcome! Please read our contributing guidelines and code of conduct before submitting pull requests.
This project is licensed under the MIT License.
- Ekselans by ITS for their collaboration and SWH integration support.
- The open-source community for the various libraries and tools used in this project.