A full-stack web application for analyzing network performance including:
- 📥 Download Speed
- 📤 Upload Speed
- 📶 Ping
- 📊 Jitter
- 📉 Packet Loss
Built using FastAPI (Backend) and React (Frontend) with a MySQL database.
- Python 3.9+
- pip
Required libraries:
fastapi
uvicorn[standard]
speedtest-cli
ping3
SQLAlchemy
pymysql- Node.js (v16 or higher)
- npm
- MySQL Server (XAMPP or any alternative)
- Start your MySQL server
- Create a database named:
network_analyzerOpen terminal:
cd backendInstall dependencies:
pip install fastapi uvicorn[standard] speedtest-cli ping3 SQLAlchemy pymysqlRun the server:
uvicorn main:app --reloadBackend will run on:
http://127.0.0.1:8000
Open a new terminal:
cd frontendInstall dependencies:
npm installRun the app:
npm run devFrontend will run on:
http://localhost:5173
- Open the frontend in your browser
- Click the GO button
- The app will:
- Run Download test
- Then Upload test
- Results will be automatically saved in the database
project-root/
│
├── backend/
│ ├── main.py
│ ├── Core/
│ └── ...
│
├── frontend/
│ ├── src/
│ └── ...
│
└── README.md
- Make sure backend is running before starting frontend
- Database must be created before running backend
- CORS is enabled for local development
- Add authentication system
- Improve UI/UX
- Export test results
- Add history tracking