Reposight est une application web permettant d'analyser et de suivre l'activité de dépôts GitHub à travers des statistiques claires et des visualisations interactives. Elle offre une vue synthétique de l'évolution des projets (commits, pull requests, issues) afin d'aider les développeurs à mieux comprendre et comparer l'activité de leurs dépôts.
Objectif · Expérimenter la gestion de données NoSQL avec DynamoDB.
Aperçu
Fonctionnalités
—Se connecter en liant son compte GitHub à la plateforme.
—Rechercher et sélectionner/ajouter les dépôts à suivre dans Reposight.
—Retirer un dépôt GitHub de Reposight.
—Supprimer son compte.
—Accéder au parcours d'onboarding guidé pour accompagner les nouveaux utilisateurs.
—Accéder à une page détail riche présentant pour chaque dépôt :
Une vue d'ensemble (nom, statut privé/public, description, forks, stars, watchers, nombre de contributeurs, langages, date du dernier commit).
Un historique des commits, pull requests et issues sur les dernières 48 h avec liens vers GitHub.
Une visualisation de l'activité sur 30 jours grâce à un graphique interactif.
Une comparaison hebdomadaire des commits/PRs/issues avec pourcentage d'évolution.
Une liste des contributeurs et volume de commits associés.
Une recherche et des filtres avancés par auteur, branche et statut pour les commits, PRs et issues.
Architecture
Front·Next.js
Une SPA qui gère l'affichage et les interactions. Elle ne parle qu'à l'API, jamais directement à GitHub.
Back·Nest.js · BFF
Un Backend For Frontend qui centralise les appels à l'API GitHub et la logique métier, documenté avec Swagger.
Auth·Double JWT
Un access token de courte durée, envoyé dans les headers de chaque requête, et un refresh token de longue durée, stocké dans un cookie HttpOnly.
Données·DynamoDB
Une base NoSQL rapide et scalable pour les données analytiques et persistantes.