WebPulse is a website performance analysis tool that allows developers to test the speed of their websites locally. It provides detailed metrics such as Time to First Byte (TTFB), page size, total page load time, and the number of requests made by the page. The tool uses FastAPI for the backend and React with TypeScript for the frontend.
- Analyze website performance metrics, including:
- Time to First Byte (TTFB)
- Page size
- Load time
- Number of requests
- Supports multiple browsers for testing: Chrome, Firefox, Safari, and Edge.
- User-friendly interface to input URLs and select browsers.
- Displays historical results for benchmarks.
- Node.js and npm installed
- Python 3.8+ installed
- Selenium WebDriver for the browsers you want to test (Chrome, Firefox, Safari, Edge)
- Create a virtual environment:
python -m venv env
- Activate the virtual environemnt
- Windows:
.\env\Scripts\activate
- macOS/Linux:
source env/bin/activate
- Install the required Python packages:
pip install -r requirements.txt
- Run the FASTAPI server:
uvicorn app.main:app --reload
The backend server will be running at http://localhost:8000.
- Navigate to the client directory:
cd client - Install the required npm packages:
npm install
- Run the development server:
npm run dev
The frontend server will be running at http://localhost:3000.
- Open your browser and navigate to http://localhost:3000.
- Enter the URL of the website you want to analyze.
- Select the browser for testing.
- Click on Analyze Website to start the analysis.
- Benchmark the results to compare to later.
- View the results and historical benchmarks on the dashboard.
Contributions are welcome! Here's how you can help:
- Report Issues: Open an issue for bugs, feature requests, or suggestions.
- Submit Pull Requests: Improve the code, documentation, or fix bugs.
Enjoy using WebPulse to analyze and optimize your website's performance!