This README is available in multiple languages. Click below to switch:
Deadlink-Hunter is an open-source project designed to find broken links in GitHub repositories (with future support for other platforms). The goal is to help maintainers keep their documentation clean, reliable, and frustration-free for readers.
Deadlink Hunter Website is the frontend of the website.
You can also check Broken-Link-Checker, this is the backend of the project that checks if a link is broken or not. Additionally, check out Deadlink-Crawler, a new repository for crawling and analyzing links efficiently.
The project was inspired as a way to give back to the open source community, everyone is welcome.
This is the general design desired for the website, generated by Lovable, just to provide inspiration.
You can see the deployed website here: Deadlink-Hunter Website
You can check the more elaborated ui that was created with base44 as initial inspiration.
Please Note: This repository contains the Frontend (User Interface) of the Deadlink-Hunter project.
To fully use the scanner features, you MUST run the Backend server locally (or connect to a deployed instance). The frontend communicates with the backend to perform the actual link checking.
Get the Backend here: Broken-Link-Checker Repository
- The why
- Contributing
- Contributors
- Docker Setup
- Mantine Vite template
- Features
- pnpm scripts
- Build and dev scripts
Documentation is the first entry point for most developers exploring a project. Yet, README files and docs often contain outdated or broken links – even in large, well-maintained repositories.
But aren’t there already broken link checkers? There are — but most of them don’t look very good, their UIs are not user-friendly, and their broken link detection doesn’t cover all cases (for example, localhost:4000 is not actually broken).
Go back to the top of the page
Contributions are welcome and greatly appreciated!
To contribute:
-
Fork this repository to your own GitHub account.
-
Clone your fork locally:
git clone https://github.com/<your-username>/Broken-Link-Website.git cd Broken-Link-Website
-
(Optional) Install pnpm package manager from this link.
-
Install dependencies using pnpm (please do not use npm or yarn):
pnpm install
-
Run this project:
pnpm run dev
-
Create a new branch for your feature or fix:
git checkout -b my-feature
-
Make your changes and commit them with clear messages.
-
Push your branch to your fork:
git push origin my-feature
-
Create a Pull Request from your repository’s branch to the
mainbranch of the original repository.
Go back to the top of the page
This project includes a .env.example file in the repository that lists the environment variables required to run the app.
Before running the project, create a local .env file based on the example.
You can copy it quickly using the command below:
# macOS / Linux
cp .env.example .env
# PowerShell
Copy-Item .env.example .envThe .env file includes the variable:
- VITE_API_BASE_URL — the base URL for the backend API.
Default:http://localhost:3000
Ensure your backend server is running on this port, or update the value to match your backend configuration.
This project includes Docker support for easy deployment and development. You can run the application using Docker in two ways:
The easiest way to run the application is using Docker Compose:
# Build and start the application
docker-compose up --build
# Or run in detached mode (background)
docker-compose up --build -dThe application will be available at http://localhost
To stop the application:
docker-compose downYou can also build and run the Docker container directly:
# Build the Docker image
docker build -t deadlink-hunter .
# Run the container
docker run -p 80:6006 deadlink-hunterThe application will be available at http://localhost
- Port: The application runs on port
6006inside the container and is mapped to port80on your host machine - Web Server: Uses nginx to serve the built application
- Build Process: Multi-stage build that installs dependencies, builds the app, and serves it with nginx
- Base Image: Built on
node:20-alpinefor the build stage andnginx:1.27-alpinefor the runtime
Go back to the top of the page
The backend exposes a REST API for checking broken links.
We generated a Postman collection based on the internal Swagger documentation to help you test the API locally.
-
Open Postman
-
Click Import
-
Select File and upload:
./postman/broken-link-checker.postman_collection.json
Make sure your backend server is running at http://localhost:3000 (or adjust the base URL in Postman if needed).
This project is based on the Mantine Vite template.
Go back to the top of the page
## FeaturesThis template comes with the following features:
- PostCSS with mantine-postcss-preset
- TypeScript
- Storybook
- Vitest setup with React Testing Library
- ESLint setup with eslint-config-mantine
Go back to the top of the page
Go back to the top of the page
## Build and dev scriptsdev– start development serverbuild– build production version of the apppreview– locally preview production build
typecheck– checks TypeScript typeslint– runs ESLintprettier:check– checks files with Prettiervitest– runs vitest testsvitest:watch– starts vitest watchtest– runsvitest,prettier:check,lintandtypecheckscripts
storybook– starts storybook dev serverstorybook:build– build production storybook bundle tostorybook-staticprettier:write– formats all files with Prettier
Go back to the top of the page
Thanks to all the amazing contributors who have helped make this project better! 🎉