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 [![DevDNA](https://devdna-production-1d53.up.railway.app/api/badge/YOUR_USERNAME.svg)](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