Sobre el proyecto
DevDNA es una aplicación web que convierte tu actividad pública de GitHub en un reporte de análisis y una insignia de perfil de desarrollador. Funciona exclusivamente mediante GitHub OAuth, lo que significa que solo puedes analizar tu propia cuenta; no hay búsqueda anónima ni ranking de otros desarrolladores.
## Qué ofrece DevDNA
- **Clasificación de desarrollador**: Diez tipos de perfiles distintos basados en patrones de commit, repositorios utilizados y comportamiento de colaboración
- **Insignia de evidencia**: Una imagen SVG generada en `devdna-production-1d53.up.railway.app/api/badge/{username}.svg`, diseñada para incluirse en READMEs o páginas de perfil de GitHub
- **Reporte compartible**: Una página independiente en `https://devdna.catchmeif404.com/dev/{username}` que contiene un resumen determinista de tus hábitos de codificación, preferencias tecnológicas y tipo de desarrollador
- **Soporte de idiomas**: Interfaz y texto de compartición disponibles en inglés y coreano
- **Diseño de privacidad**: Los datos crudos de repositorios y commits no se almacenan; solo se guardan los resultados analizados finales
## Cómo agregar la insignia
Pega este Markdown en cualquier README de GitHub:
```markdown
[](https://devdna.catchmeif404.com/dev/TU_USUARIO)
```
Si el backend aún no ha ejecutado un análisis para la cuenta, el endpoint devuelve una insignia de reserva `AWAITING EVIDENCE` en lugar de una imagen rota.
## Tecnología
| Área | Tecnología |
|---|---|
| Frontend | Next.js, TypeScript, Tailwind CSS, Cloudflare Workers |
| Backend | Spring Boot (Java 21), migraciones Flyway, despliegue en Railway |
| Base de datos | PostgreSQL |
| Autenticación | GitHub OAuth |
## Ejecutar localmente
```bash
cp .env.example .env
docker compose up -d
```
- Frontend: http://localhost:3010
- Backend API: http://localhost:8090
Crea una GitHub OAuth App y configura `GITHUB_CLIENT_ID` y `GITHUB_CLIENT_SECRET`. La URL de callback local debe configurarse como `http://localhost:8090/api/auth/github/callback`.
## Limitaciones conocidas
- Los resúmenes se producen mediante plantillas basadas en reglas en lugar de modelos probabilísticos; la clasificación de tipos de commit llama opcionalmente a la API de Claude cuando está configurada
- Solo persisten los resultados finales del análisis; los datos crudos de GitHub se transmiten y descartan
- Los análisis en curso no se reanudan automáticamente si el backend se reinicia
- La titularidad de los resultados puede no normalizarse completamente tras un cambio de nombre de usuario en GitHub
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.