À propos du projet

DevDNA est une application web qui transforme votre activité GitHub publique en un rapport d'analyse et un badge de profil développeur. Il fonctionne exclusivement via OAuth GitHub, ce qui signifie que seul vous pouvez analyser votre propre compte — il n'y a aucun lookup anonyme ni classement des autres développeurs. ## Ce que propose DevDNA - **Classification des développeurs** : Dix types de profils distincts basés sur les schémas de commits, les dépôts utilisés et le comportement de collaboration - **Badge de preuve** : Une image SVG générée à l'adresse `devdna-production-1d53.up.railway.app/api/badge/{username}.svg`, conçue pour être incluse dans les README GitHub ou les pages de profil - **Fiche de rapport partageable** : Une page autonome à l'adresse `https://devdna.catchmeif404.com/dev/{username}` contenant un résumé déterministe de vos habitudes de codage, vos préférences technologiques et votre type de développeur - **Support linguistique** : Interface et textes de partage disponibles en anglais et en coréen - **Conception respectueuse de la vie privée** : Les données brutes des dépôts et des commits ne sont pas conservées ; seules les résultats analysés finaux sont stockés ## Comment ajouter le badge Collez ce Markdown dans n'importe quel README GitHub : ```markdown [![DevDNA](https://devdna-production-1d53.up.railway.app/api/badge/VOTRE_NOM_D_UTILISATEUR.svg)](https://devdna.catchmeif404.com/dev/VOTRE_NOM_D_UTILISATEUR) ``` Si le backend n'a pas encore exécuté d'analyse pour le compte, l'endpoint retourne un badge placeholder `AWAITING EVIDENCE` au lieu d'une image cassée. ## Stack technologique | Domaine | Technologie | |---|---| | Frontend | Next.js, TypeScript, Tailwind CSS, Cloudflare Workers | | Backend | Spring Boot (Java 21), migrations Flyway, déploiement Railway | | Base de données | PostgreSQL | | Authentification | OAuth GitHub | ## Exécution locale ```bash cp .env.example .env docker compose up -d ``` - Frontend : http://localhost:3010 - Backend API : http://localhost:8090 Créez une GitHub OAuth App et définissez `GITHUB_CLIENT_ID` et `GITHUB_CLIENT_SECRET`. L'URL de rappel locale doit être configurée comme suit : `http://localhost:8090/api/auth/github/callback`. ## Limitations connues - Les résumés sont produits par des gabarits déterministes plutôt que par des modèles probabilistes ; la classification des types de commits appelle optionnellement l'API Claude lorsqu'elle est configurée - Seuls les résultats d'analyse finaux persistent — les données brutes GitHub sont diffusées et supprimées - Les analyses en cours ne reprennent pas automatiquement en cas de redémarrage du backend - La propriété des résultats peut ne pas être entièrement normalisée après un changement de nom d'utilisateur GitHub