Creación de Servicios para Gestión de Exámenes con Postman
Clase 2 de 22 • Curso de Go Avanzado: Protobuffers y gRPC
Contenido del curso
- 6

RPC y gRPC: Protocolos para Comunicación Eficiente entre Servicios
08:36 - 7

Comparativa de JSON y Protobufers en Intercambio de Datos
08:57 - 8

Definición de Servicios gRPC con Protocol Buffers en Go
04:28 - 9

Implementación de Repositorios y gRPC en Go con PostgreSQL
12:00 - 10

Implementación de Servidor gRPC para Gestión de Estudiantes
12:50 - 11

Pruebas de API gRPC con Postman y Docker
04:08 - 12

Definición de Servicios gRPC en Go para Pruebas y Exámenes
03:39 - 13

Implementación de gRPC Server y Métodos en Go
17:45 - 14

Implementación de Streaming del Cliente con gRPC en Go
16:53 - 15

Implementación de Streaming del Servidor con gRPC y Protobufs
16:25 - 16

Implementación de Streaming gRPC del Lado del Servidor en Go
16:24 - 17

Streaming Bidireccional con gRPC: Implementación y Pruebas
16:04 - 18

Pruebas de Streaming Bidireccional con gRPC y Postman
04:55 - 19

Implementación de Cliente gRPC en Go para Comunicación con Servidor
13:11 - 20

Implementación de Streaming en gRPC: Servidor y Bidireccional
12:16
¿Qué proyecto vamos a construir?
En esta serie de clases, vamos a embarcarnos en un emocionante viaje para construir un proyecto que incorpora múltiples servicios. El objetivo es crear un sistema capaz de registrar estudiantes, asociar preguntas a exámenes y permitir que estos exámenes sean tomados por estudiantes inscritos. Esta funcionalidad representa un desafío interesante ya que implicará el uso de técnicas avanzadas como el streaming de datos. ¡Ponte cómodo, prepárate y sumerjámonos en el mundo del desarrollo de aplicaciones!
¿Cómo exploramos el proyecto con Postman?
Postman es una herramienta que utilizaremos para explorar las funcionalidades del proyecto que vamos a construir. En esta plataforma, podemos simular e invocar diferentes métodos para experimentar de manera práctica lo que estamos desarrollando. Aquí te mostramos cómo se llevará a cabo cada aspecto del proyecto:
¿Cómo registramos estudiantes?
- Crear un estudiante: Tendremos la capacidad de registrar un nuevo estudiante con información básica como la edad, un ID único y su nombre. Por ejemplo, un estudiante podría tener una edad de 25 años, un ID de 'S25' y nombre 'Test Student'.
- Leer información del estudiante: Usando el ID previamente asignado (en este caso 'S25'), podemos recuperar información sobre los estudiantes registrados.
¿Cómo se gestionan los test?
- Creación del test: Se puede crear un nuevo test identificándolo mediante un ID (como 'T25') y un nombre representativo (como 'Test Example').
- Lectura del test: Similar al registro de estudiantes, puedes leer los detalles del test utilizando su ID.
¿Cómo se añaden preguntas a un test?
Agregar preguntas a un test particular requiere el uso de técnicas de streaming. Vamos a enviar preguntas y sus respectivas respuestas para almacenarlas en la base de datos utilizando el ID del test (por ejemplo, 'T25').
¿Cómo se inscriben estudiantes a un test?
- Matricular estudiantes: Es posible inscribir varios estudiantes a un test específico. Un ejemplo sería inscribir al estudiante 'S25' al test 'T25'.
- Consultar estudiantes inscritos: Puedes solicitar al servidor que devuelva la lista de estudiantes inscritos en un test determinado.
¿Cómo se toma un test?
Finalmente, el proyecto permitirá que los estudiantes tomen el test. A través de streaming, recibirán preguntas y podrán enviar sus respuestas. Este sistema de retroalimentación fluida entre el cliente y el servidor es crucial para la funcionalidad de los exámenes en línea.
¿Qué podemos esperar en las próximas clases?
El proyecto apenas comienza y ya hemos visto una pizca de su potencial con el uso de streaming de datos, lo cual eleva nuestra aplicación a un nuevo nivel de complejidad y funcionalidad. A lo largo de las próximas sesiones, profundizaremos más en cada uno de estos elementos. La siguiente clase se centrará en 'protobufs', una herramienta esencial que nos ayudará en la generación de código. Sin duda, te permitirá comprender cómo potenciar nuestra aplicación de manera más efectiva. ¡No te lo pierdas!