Skip to content
JUXCHXXPublic

About

πŸ“Š Dashboard visual de perfiles de GitHub β€” lenguajes, contribuciones, repos y actividad en tiempo real. Construido con React 18, Vite 6, TypeScript, Recharts y Framer Motion. Consume REST API y GraphQL de GitHub. πŸš€

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

4 Commits

Folders and files

Repository files navigation

 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
β–ˆβ–ˆβ•”β•β•β•β•β• β–ˆβ–ˆβ•‘β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•
β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  
β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β•šβ•β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ•‘     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•”β•β•β•  
β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•     β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
 β•šβ•β•β•β•β•β• β•šβ•β•   β•šβ•β•   β•šβ•β•β•β•β•β•β• β•šβ•β•β•β•β•β• β•šβ•β•β•β•β•β• ═╝       β•šβ•β•β•β•β•β•

Tu identidad de desarrollador, visualizada.

Deploy React Vite TypeScript License


🏠 Pantalla de inicio

Pantalla de inicio

πŸ” Ejemplo de bΓΊsqueda

Ejemplo de bΓΊsqueda


ΒΏQuΓ© es GitScope?

GitScope convierte un perfil de GitHub en un dashboard visual. IngresΓ‘s un usuario y en segundos ves todo lo que importa: en quΓ© lenguajes programa, quΓ© tan activo es, cuΓ‘les son sus repos mΓ‘s populares y cΓ³mo se ve su historial de contribuciones.

No es un clon. No es un wrapper de otra herramienta. Es una interfaz construida desde cero para leer la API de GitHub y presentar esos datos de una forma que valga la pena mirar.


Lo que hace

πŸ“Œ  Perfil completo         β†’  avatar, bio, ubicaciΓ³n, estadΓ­sticas
πŸ₯§  Lenguajes               β†’  pie chart + barras por porcentaje de uso
πŸ“ˆ  Actividad               β†’  Γ‘rea chart de commits por semana
πŸ—“οΈ  Heatmap                 β†’  calendario de contribuciones del ΓΊltimo aΓ±o  (requiere token)
⭐  Top repos               β†’  bar chart horizontal ordenado por stars
πŸƒ  Repo cards              β†’  grid con lenguaje, stars, forks y topics

Stack

Capa TecnologΓ­a Para quΓ©
Build Vite 6 Dev server ultrarrΓ‘pido, HMR instantΓ‘neo
UI React 18 Componentes, estado, renderizado
Tipado TypeScript 5 Tipos para toda la respuesta de la API de GitHub
Estilos Tailwind CSS v3 Utility-first, sin CSS suelto
GrΓ‘ficas Recharts AreaChart, BarChart, PieChart responsivos
Animaciones Framer Motion Stagger de entrada, hover states, transiciones
Data fetching React Query v5 CachΓ©, loading states, sin useEffect para fetch
HTTP Axios Cliente para REST y GraphQL
Heatmap react-calendar-heatmap Calendario de contribuciones
Deploy Vercel CI/CD automΓ‘tico desde GitHub

APIs consumidas

GitHub REST API β€” pΓΊblica, sin autenticaciΓ³n para uso bΓ‘sico

GET /users/{username}               β†’  perfil del usuario
GET /users/{username}/repos         β†’  lista de repositorios
GET /users/{username}/events        β†’  actividad reciente
GET /repos/{owner}/{repo}/languages β†’  bytes por lenguaje

GitHub GraphQL API β€” requiere Personal Access Token

query ContributionCalendar($username: String!) {
  user(login: $username) {
    contributionsCollection {
      contributionCalendar {
        totalContributions
        weeks {
          contributionDays { date contributionCount color }
        }
      }
    }
  }
}

Sin token la app funciona completa excepto el heatmap. Con token: 5 000 requests/hora y calendario desbloqueado.


Arquitectura

src/
β”œβ”€β”€ config/env.ts          ←  ΓΊnico punto de acceso a variables de entorno
β”œβ”€β”€ api/
β”‚   β”œβ”€β”€ githubRest.ts      ←  todas las llamadas REST
β”‚   └── githubGraphQL.ts   ←  query de contribuciones
β”œβ”€β”€ hooks/                 ←  React Query wrapping cada endpoint
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ charts/            ←  Recharts + lΓ³gica de presentaciΓ³n
β”‚   β”œβ”€β”€ profile/           ←  ProfileCard, StatsRow
β”‚   β”œβ”€β”€ repos/             ←  RepoCard
β”‚   └── ui/                ←  Badge, Spinner, ErrorMessage
└── pages/
    β”œβ”€β”€ Home.tsx           ←  bΓΊsqueda inicial
    └── Dashboard.tsx      ←  resultado completo

NingΓΊn componente toca axios directamente. Todo el fetching vive en src/api/, todo el estado de servidor en src/hooks/. Los componentes solo consumen datos ya procesados.


DiseΓ±o

Dark mode como base. TipografΓ­a Syne para display y JetBrains Mono para stats y handles. Acento en verde #4ade80 sobre fondos #0a0a0a. Sin gradientes de fondo genΓ©ricos β€” grid sutil y profundidad por capas de superficie.

Las animaciones estΓ‘n pensadas: una entrada escalonada al cargar el dashboard, micro-interacciones en hover de cards, y las grΓ‘ficas hacen scale de 0 β†’ 1 al aparecer en pantalla.


QuΓ© aprendΓ­ / quΓ© demuestra

  • Consumo de REST API y GraphQL en el mismo proyecto
  • React Query para manejo de cachΓ©, loading y error states sin cΓ³digo repetitivo
  • TransformaciΓ³n de datos crudos de API en estructuras listas para graficar
  • Buenas prΓ‘cticas de seguridad: variables de entorno, .env en .gitignore, .env.example versionado
  • Arquitectura de capas: api β†’ hooks β†’ components
  • Deploy en Vercel con environment variables en producciΓ³n

hecho con demasiado cafΓ© Β· JUXCHXX

About

πŸ“Š Dashboard visual de perfiles de GitHub β€” lenguajes, contribuciones, repos y actividad en tiempo real. Construido con React 18, Vite 6, TypeScript, Recharts y Framer Motion. Consume REST API y GraphQL de GitHub. πŸš€

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages