Reposight·Novembre 2025

Présentation

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. Le projet a également servi de terrain d'expérimentation pour la gestion de données NoSQL à travers DynamoDB.

Vidéo

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

Le frontend est une SPA développée avec Next.js, qui gère l'affichage et les interactions utilisateur. Il communique avec un Backend For Frontend (BFF) écrit en Nest.js, chargé de centraliser les appels à l'API GitHub et de gérer la logique métier. L'authentification repose sur un double JWT : un refresh token stocké dans un cookie HttpOnly (longue durée) et un access token envoyé dans les headers de chaque requête (courte durée de vie). Les données analytiques et persistantes sont conservées dans DynamoDB, offrant une base NoSQL rapide, scalable et adaptée aux besoins de l'application. De plus, vous pouvez retrouver une documentation de l'API grâce à Swagger.

Stack technique

Next.jsNest.jsTailwindCSSTanStack QueryGitHub APIOAuthDynamoDBPlaywrightSwagger

Liens