4Geeks logo
Sobre Nosotros

Catálogo de contenidos

Para los geeks autodidactas, este es nuestro extenso catálogo de contenido con todos los materiales y tutoriales que hemos desarrollado hasta el día de hoy.

Tiene sentido comenzar a aprender leyendo y viendo videos sobre los fundamentos y cómo funcionan las cosas.

Data Science and Machine Learning - 16 wks

Full-Stack Software Developer - 16w

Buscar en lecciones

Aprendizaje social y en vivo

La forma más eficiente de aprender: Únete a una cohorte con compañeros, transmisiones en vivo, sesiones improvisadas de codificación, tutorías en vivo con expertos reales y mantenga la motivación.

← Volver a Proyectos

API Manejador de colas

Meta

Tutoriales y ejercicios de 4Geeks Coding Projects para personas que están aprendiendo a codificar o mejorando sus habilidades de codificación

Dificultad

intermediate

Repositorio

Clic para abrir

Video

No disponible

Demo en vivo

No disponible

Duración promedio

8 hrs

Tecnologías

alt text Sistema de gestión de filas SMS

Permite crear un sistema de filas: el sistema de filas se utiliza en gran medida en las instituciones gubernamentales, aeropuertos, bancos y muchos otros lugares que buscan organizar el tráfico entrante. Los sistemas de fila también se pueden usar para equilibrar la carga de diferentes aplicaciones como:

  • Establecimiento de prioridades en las solicitudes entrantes de servidores web.
  • Inmigración y solicitudes de visa que deben ser priorizadas.
  • Paquetes de red.
  • etc.

🌱 Cómo iniciar este proyecto

No clones este repositorio. El primer paso para comenzar a codificar es clonar el flask boilerplate en tu compjutador local o con Gitpod.

a) Si usas Gitpod (recomendada) puedes clonar el boilerplate clic aquí.

b) Si trabajas localmente, escribe el siguiente comando en tu terminal:

1git clone git clone https://github.com/4GeeksAcademy/flask-rest-hello

💡 Importante: Recuerda actualizar el remote del proyecto con el de tu repositorio usando git remote set-url origin <your new url>, y luego guardar tu código en tu nuevo repositorio usando add, commit y push.

📝 Instrucciones

  • La API debe integrarse con Twilio para poder enviar SMS para notificar a los usuarios cuando llegue su turno.
  • Crea una API que permita a los clientes administrar una fila simple, usa la siguiente estructura de datos para implementar la fila:
1class Queue: 2 3 def __init__(self): 4 self._queue = [] 5 # depending on the _mode, the queue has to behave like a FIFO or LIFO 6 self._mode = 'FIFO' 7 8 def enqueue(self, item): 9 def dequeue(self): 10 def get_queue(self): 11 def size(self): 12 return len(self._queue)

Ejemplo de Flujo de Trabajo

  1. La API recibe una solicitud para agregar a Bob a la fila (POST / new) con cualquier prioridad particular (FIFO o LIFO).
  2. La API agrega a Bob y le notifica con un SMS de confirmación, el SMS debe indicar cuántas personas están frente a él en la línea.
  3. El sistema ahora espera hasta que el endpoint GET / next se ejecute para procesar a la persona en la fila.
  4. Cada vez que se recibe una solicitud GET / next, la siguiente persona en la fila se procesa hasta que sea el turno de Bob.
  5. Cuando Bob es procesado, el sistema le envía otro SMS para avisarle que ha llegado su turno y lo elimina de la lista.

Más Detalles

  1. Tu debes crear 3 endpoints para tu API:
  • POST /new: Recibirá información sobre un usuario y lo agregará a la fila.
  • GET /next: Se procesará un punto de la fila.
  • GET /all: Devolverá una lista con todos los que estén pendientes de ser procesados (la fila actual).

📖 Fundamentos

Este ejercicio te hará practicar los siguientes fundamentos:

  1. Aquí puedes encontrar information sobre como enviar un sms con twillio, tendrás que registrarse y crear una cuenta (gratis) y también registrar un número (gratis)
  2. Construir una RESTful API
  3. Estructuras de datos complejas.
  4. Queue (FIFO vs FILO)
  5. SMS.

Meta

Tutoriales y ejercicios de 4Geeks Coding Projects para personas que están aprendiendo a codificar o mejorando sus habilidades de codificación

Dificultad

intermediate

Repositorio

Clic para abrir

Video

No disponible

Demo en vivo

No disponible

Duración promedio

8 hrs