GraphQL Implementation
Este proyecto tiene como objetivo desarrollar un sistema que combine un modelo de datos relacional, un servicio GraphQL eficiente y una interfaz de usuario moderna en Next.js, todo desplegado en Azure.
¿De qué trata este proyecto?
El proyecto incluye el diseño e implementación de un servicio GraphQL seguro y funcional, integrado con un frontend desarrollado en Next.js. A través del despliegue en Azure, se busca garantizar la accesibilidad y la escalabilidad del sistema.
Estructura general:
- Modelo de datos:
- Diseñar un esquema relacional en Azure con al menos 4 tablas, incluyendo una relación de muchos a muchos.
- Servicio GraphQL:
- Configurar consultas y resolvers utilizando Node.js, Express y Apollo Server.
- Incluir filtros y una consulta con agregación.
- Dockerización y despliegue:
- Crear un Dockerfile para empaquetar el servicio.
- Desplegar la solución en Azure Web App.
- Integración con Next.js:
- Consumir el servicio GraphQL desde el frontend.
- Implementar lógica de autenticación y autorización.
- Actualización del portafolio:
- Documentar y detallar la implementación del servicio en el portafolio académico.
Funcionalidades principales
- Consultas GraphQL: Consultas personalizadas con soporte para filtros y agregaciones.
- Seguridad: Estrategias de autenticación y autorización.
- Interfaz dinámica: Visualización de datos relevantes obtenidos desde el servicio GraphQL.
- Dockerización: Empaquetado del proyecto para un despliegue ágil.
- Documentación: Actualización del portafolio con la implementación completa.
Tecnologías utilizadas
- Backend:
- Node.js, Express y Apollo Server.
- Base de datos relacional en Azure.
- Frontend:
- Next.js para una experiencia de usuario moderna.
- Infraestructura:
- Docker para la contenedorización.
- Azure para el despliegue de la API y la interfaz.
Repositorios del proyecto
- API GraphQL: https://github.com/beginLyra/GraftQLTienda
- Frontend (Next.js): https://github.com/beginLyra/front_azure
Objetivo del proyecto
Construir una solución académica que integre un servicio GraphQL eficiente, un frontend dinámico y despliegue en la nube, cumpliendo con los estándares técnicos y académicos establecidos.