βββββββ ββββββββββββββββββββ βββββββ βββββββ βββββββ ββββββββ
ββββββββ βββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββ βββββββ βββ βββββββββββ βββ βββ βββββββββ
βββ ββββββ βββ βββββββββββ βββ ββββββ ββββββ
ββββββββββββ βββ ββββββββββββββββββββββββββββ ββββββββ
βββββββ βββ βββ ββββββββ βββββββ βββββββ ββ βββββββ
Tu identidad de desarrollador, visualizada.
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.
π 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
| 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 |
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.
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.
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.
- 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,
.enven.gitignore,.env.exampleversionado - Arquitectura de capas:
api β hooks β components - Deploy en Vercel con environment variables en producciΓ³n
hecho con demasiado cafΓ© Β· JUXCHXX

