The Internet Quality Monitoring project aims to provide a solution for tracking and visualizing internet quality indicators within a university campus environment. It helps identify and monitor issues such as packet loss, latency, and accessibility of various resources and protocols. The project includes a web dashboard for easy visualization of the collected data.
To deploy the Internet Quality Monitoring service, follow these steps:
- Clone the repository:
git clone https://github.com/levpen/InternetQualityMonitoring.git
- Navigate to the project directory:
cd internet-quality-monitoring
- Build the Docker image:
docker build -t internet-quality-monitoring .
- Run the Docker container:
docker run -p 8501:8501 internet-quality-monitoring
The service will be accessible at http://localhost:8501
.
The project is built using the following technologies:
- Python 3.11
- Streamlit for the web dashboard
- SQLite for database management
- Docker for containerization
- Ruff for code quality checks
To contribute to the development of Internet Quality Monitoring, follow these steps:
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/your_username/your_repository.git
- Create a new branch for your feature:
git checkout -b feature-name
- Make your changes and commit them:
git commit -am 'Add new feature'
- Push your branch to your fork:
git push origin feature-name
- Submit a pull request on GitHub.
pip install poetry
poetry install
poetry run streamlit run frontend/app.py
Coverage testing
poetry run pytest --cov=backend/
Mutation testing
poetry run mutmut run --paths-to-mutate "backend/" --tests-dir "tests/"
poetry run mutmut show