Este README está disponível em múltiplos idiomas. Clique abaixo para alternar:
Deadlink-Hunter é um projeto open-source projetado para encontrar links quebrados em repositórios do GitHub (com suporte futuro para outras plataformas). O objetivo é ajudar mantenedores a manter sua documentação limpa, confiável e livre de frustrações para os leitores.
Deadlink Hunter Website é o frontend do site.
Você também pode conferir o Broken-Link-Checker, que é o backend do projeto responsável por verificar se um link está quebrado ou não. Além disso, confira o Deadlink-Crawler, um novo repositório para rastrear (crawl) e analisar links de forma eficiente.
O projeto foi inspirado como uma forma de retribuir à comunidade open source, e todos são bem-vindos.
Este é o design geral desejado para o site, gerado pelo Lovable, apenas para servir de inspiração.
Você pode conferir a interface mais elaborada que foi criada com base44 como inspiração inicial.
Atenção: Este repositório contém o Frontend (Interface de Usuário) do projeto Deadlink-Hunter.
Para utilizar totalmente as funcionalidades de scanner, você DEVE rodar o servidor Backend localmente (ou conectar-se a uma instância implantada). O frontend se comunica com o backend para realizar a verificação real dos links.
Obtenha o Backend aqui: Repositório Broken-Link-Checker
- O Porquê
- Contribuindo
- Contribuidores
- Configuração Docker
- Template Mantine Vite
- Funcionalidades
- Scripts pnpm
- Scripts de Build e Dev
A documentação é o primeiro ponto de entrada para a maioria dos desenvolvedores que exploram um projeto. No entanto, arquivos README e documentações frequentemente contêm links desatualizados ou quebrados – mesmo em repositórios grandes e bem mantidos.
Mas já não existem verificadores de links quebrados? Existem — mas a maioria deles não tem uma boa aparência, suas interfaces (UIs) não são amigáveis ao usuário, e a detecção de links quebrados não cobre todos os casos (por exemplo, localhost:4000 não é realmente quebrado).
Contribuições são bem-vindas e muito apreciadas!
Para contribuir:
-
Faça um Fork deste repositório para sua própria conta GitHub.
-
Faça um Clone do seu fork localmente:
git clone https://github.com/<seu-usuario>/Broken-Link-Website.git cd Broken-Link-Website
-
(Opcional) Instale o gerenciador de pacotes pnpm através deste link.
-
Instale as dependências usando pnpm (por favor, não use npm ou yarn):
pnpm install
-
Rode este projeto:
pnpm run dev
-
Crie uma nova branch para sua feature ou correção:
git checkout -b minha-feature
-
Faça suas alterações e realize o commit com mensagens claras.
-
Faça o Push da sua branch para o seu fork:
git push origin minha-feature
-
Crie um Pull Request da branch do seu repositório para a branch
maindo repositório original.
Este projeto inclui um arquivo .env.example no repositório que lista as variáveis de ambiente (environment variables) necessárias para rodar o app.
Antes de rodar o projeto, crie um arquivo local .env baseado no exemplo.
Você pode copiá-lo rapidamente usando o comando abaixo:
# macOS / Linux
cp .env.example .env
# PowerShell
Copy-Item .env.example .envO arquivo .env inclui a variável:
- VITE_API_BASE_URL — a URL base para a API backend.
Padrão:http://localhost:3000
Certifique-se de que seu servidor backend esteja rodando nesta porta, ou atualize o valor para corresponder à sua configuração de backend.
Este projeto inclui suporte a Docker para facilitar o deployment e desenvolvimento. Você pode rodar a aplicação usando Docker de duas maneiras:
A maneira mais fácil de rodar a aplicação é usando Docker Compose:
# Buildar e iniciar a aplicação
docker-compose up --build
# Ou rodar em modo detached (segundo plano)
docker-compose up --build -dA aplicação estará disponível em http://localhost
Para parar a aplicação:
docker-compose downVocê também pode buildar e rodar o container Docker diretamente:
# Buildar a imagem Docker
docker build -t deadlink-hunter .
# Rodar o container
docker run -p 80:6006 deadlink-hunterA aplicação estará disponível em http://localhost
- Porta: A aplicação roda na porta
6006dentro do container e é mapeada para a porta80na sua máquina host - Servidor Web: Usa nginx para servir a aplicação buildada
- Processo de Build: Build multi-stage que instala dependências, builda o app, e o serve com nginx
- Imagem Base: Construída sobre
node:20-alpinepara o estágio de build enginx:1.27-alpinepara o runtime
O backend expõe uma API REST para verificação de links quebrados.
Geramos uma coleção Postman baseada na documentação interna Swagger para ajudar você a testar a API localmente.
-
Abra o Postman
-
Clique em Import
-
Selecione File e faça o upload de:
./postman/broken-link-checker.postman_collection.json
Certifique-se de que seu servidor backend esteja rodando em http://localhost:3000 (ou ajuste a URL base no Postman se necessário).
Este projeto é baseado no template Mantine Vite.
Este template vem com as seguintes funcionalidades:
- PostCSS com mantine-postcss-preset
- TypeScript
- Storybook
- Vitest configurado com React Testing Library
- ESLint Configurado com eslint-config-mantine
dev– inicia servidor de desenvolvimentobuild– builda a versão de produção do apppreview– pré-visualiza localmente o build de produção
typecheck– verifica tipos TypeScriptlint– roda ESLintprettier:check– verifica arquivos com Prettiervitest– roda testes vitestvitest:watch– inicia watch do vitesttest– roda os scriptsvitest,prettier:check,lintetypecheck
storybook– inicia servidor de desenvolvimento storybookstorybook:build– builda bundle de produção do storybook parastorybook-staticprettier:write– formata todos os arquivos com Prettier
Obrigado a todos os incríveis contribuidores que ajudaram a tornar este projeto melhor! 🎉