Nombre postulante: Alberto Josue Reyes Cespedes Link a la app en producción: https://kimchechallenge.netlify.app/
Debes crear un buscador de países consultando el siguiente grafo. Este código contiene una base para seguir con la aplicación en React y ApolloClient. Queda a disposición tuya cualquier cambio, ya sea de estructura, estilo, etc.
Se espera que logres hacer una aplicación parecida a la del siguiente diagrama:
La funcionalidad y estructura debe ser igual, pero el diseño y variantes (por ejemplo, cambiar colores de las cosas) queda a tu gusto. Considerar que el ícono al lado del nombre de cada país es el emoji.
Además de esto, se espera que hagas deploy de tu app en el servicio que desees (Heroku, Netlify, AWS, Github Pages, etc).
- Se espera que uses buenas prácticas como gitflow (pull requests y commits), orden del código, estructura, eficiencia, etc.
- Puedes dejar comentarios de decisiones que tuviste que tomar y del por qué en este repositorio.
- Se va a considerar un buen diseño de UX/UI.
Acá van algunas cosas que pueden ser útiles (o no 👀):
- Gitignore
- GraphQL
- React
- Styled components
- ApolloClient
- Lodash
- Conventional commits
- Commitlint
- Eslint
- Eslint airbnb
- Husky
La tabla que contiene la información correspondiente a la asistencia diaria de un niño en un colegio tiene 90 millones de filas. Todas las tablas del sistema existen en la misma BDD en MySQL. La lógica del backend que actualiza la información correspondiente al pasar la asistencia tiene un tiempo de servicio p95 de 10 segundos. El equipo está interesado en bajar este tiempo para mejorar la experiencia del usuario (y porque nos gusta pensar en Kimche como un Ferrari). ¿Qué propondrías para enfrentar el problema? Esta pregunta es abierta, no hay respuestas malas. Puedes proponer arquitectura, tecnologías, diseño, etc.
Ya que la soluciones pueden ser varias y muchas de ellas depende las circunstancia, tecnologias.
-
Si las circustancia lo permite, optaria por divir mis datos en 2 tablas una para backup y otra para la data de transicion, asi evito tener que extraer data que no estoy usando realmente.
-
Implementar un motor de busqueda como elasticSearch.
-
Utilizar un motor de base de datos en memoria como redis