Aplicación web centrada en la búsqueda de usuarios de GitHub. Desarrollada con Angular Framework.
- Búsqueda de usuarios de GitHub
- TODO: Crear carrousel para mostrar usuarios. (Añadir toogle para cambiar entre la vista de tabla y la de carrousel).
- TODO: Añadir pantalla con ruta al perfil del usuario, donde muestre sus datos como por ejemplo, un gráfico de barras con el número de seguidores de cada usuario (ChartJS).
- TODO; Unit & Integration testing.
- Instalar las dependencias con
npm install
. - (Opcional) Crear un archivo
.env
siguiendo el de ejemplo .env.example y rellenar las variables. - Lanzar con
ng serve --open
.
La aplicación se ha creado con la siguiente estructura:
├───app
│ ├───core
│ │ ├───interceptors
│ │ ├───services
│ │ ├───guards
│ │ ├───types
│ │ └───utils
│ ├───features
│ │ ├───home
│ │ │ ├───components
│ │ │ ├───services
│ │ │ ├───types
│ ├───shared
│ │ ├───components
│ │ ├───directives
│ │ ├───pipes
│ │ └───types
└───assets
- core: se incluirán bajo este directorio todos los elementos que se utilizarán en toda la aplicación (generalmente como Singleton), como los servicios, interceptors, guards, etc.
- features: se listarán bajo este directorio todas las funcionalidades, generalmente con ruta propia. Cada funcionalidad tendrá su propio directorio con los componentes, servicios, guards, etc. que sean necesarios. (Anteriormente cada una de estas features tendría su propio módulo con lazy-loading)
- shared: se incluirán bajo este directorio todos los elementos reutilizables a través de la aplicación. En el futuro mucha de esta funcionalidad se podrá mover a librerías de Angular.
Sin resultados ni búsqueda | Con resultados | Con búsqueda pero sin resultados encontrados
Tablet con resultados
Desktop con resultados
Caution
La API de Github solo permite los primeros 1.000 resultados, por lo tanto si páginas más allá de la página 100, a 10 resultados por cada página (10 * 100 = 1.000 resultados) llegas al límite y la API devuelve un error.
Note
La API de GitHub es pública y permite hacer peticiones sin autenticación, pero tiene un límite de peticiones temporal por IP, por lo que si se supera el límite, la API devuelve un error.