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