Sobre o projeto
O DevDNA é um aplicativo web que transforma sua atividade pública no GitHub em um relatório de análise e um crachá de perfil de desenvolvedor. Ele funciona exclusivamente via OAuth do GitHub, ou seja, apenas você pode analisar sua própria conta — não há busca anônima ou ranking de outros desenvolvedores.
## O que o DevDNA oferece
- **Classificação de desenvolvedor**: Dez tipos distintos de perfil com base em padrões de commit, repositórios usados e comportamento de colaboração
- **Crachá de evidências**: Uma imagem SVG gerada em `devdna-production-1d53.up.railway.app/api/badge/{username}.svg`, projetada para inclusão em READMEs do GitHub ou páginas de perfil
- **Cartão de relatório compartilhável**: Uma página independente em `https://devdna.catchmeif404.com/dev/{username}` contendo um resumo determinístico dos seus hábitos de codificação, preferências de stack e tipo de desenvolvedor
- **Suporte a idiomas**: Interface e textos de compartilhamento disponíveis em inglês e coreano
- **Design de privacidade**: Dados brutos de repositório e commit não são persistidos; apenas os resultados finais da análise são armazenados
## Como adicionar o crachá
Cole este Markdown em qualquer README do GitHub:
```markdown
[](https://devdna.catchmeif404.com/dev/YOUR_USERNAME)
```
Se o backend ainda não executou uma análise para a conta, o endpoint retorna um crachá substituto `AWAITING EVIDENCE` em vez de uma imagem quebrada.
## Stack tecnológico
| Área | Tecnologia |
|---|---|
| Frontend | Next.js, TypeScript, Tailwind CSS, Cloudflare Workers |
| Backend | Spring Boot (Java 21), migrações Flyway, implantação Railway |
| Banco de dados | PostgreSQL |
| Autenticação | GitHub OAuth |
## Execução local
```bash
cp .env.example .env
docker compose up -d
```
- Frontend: http://localhost:3010
- Backend API: http://localhost:8090
Crie um GitHub OAuth App e defina `GITHUB_CLIENT_ID` e `GITHUB_CLIENT_SECRET`. A URL de callback local deve ser configurada como `http://localhost:8090/api/auth/github/callback`.
## Limitações conhecidas
- Resumos são produzidos por templates baseados em regras, não por modelos probabilísticos; a classificação de tipos de commit chama a API do Claude opcionalmente quando configurada
- Apenas resultados finais da análise persistem — dados brutos do GitHub são transmitidos e descartados
- Análises em andamento não são retomadas automaticamente se o backend reiniciar
- A propriedade dos resultados pode não se normalizar totalmente após uma mudança de nome de usuário no GitHub
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.