4Geeks logo
4Geeks logo

Courses

Explore our extensive collection of courses designed to help you master various subjects and skills. Whether you're a beginner or an advanced learner, there's something here for everyone.

Coding Bootcamp

Aprende en vivo

Únete a nosotros en nuestros talleres gratuitos, webinars y otros eventos para aprender más sobre nuestros programas y comenzar tu camino para convertirte en desarrollador.

Próximos eventos en vivo

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

IngresarEmpezar
← Volver a Proyectos

Manejador de colas CLI con Python

Meta

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

Video tutorial

Dificultad

unknown

Repositorio

Clic para abrir

Video

No disponible

Demo en vivo

No disponible

Duración promedio

8 hrs

Tecnologías

  • Queue Data Structure

  • Data Structures

  • Static File Storage

  • Python

  • json

  • The Command Line

  • Logging

alt text Queue Management System CLI

Creemos un sistema de espera: Los sistemas de espera o queue system son muy usados en las Instituciones Gubernamentales, aeropuertos, bancos y muchos otros lugares que buscan organizar el táfico entrante.

Los sistemas de espera también pueden usarse para equiparar la carga en varias aplicaciones como:

  • Establecer prioridades en las solicitudes entrantes de los servidores web
  • Inmigración y aplicaciones a visas que requieren de prioridad.
  • Paquetes Network.
  • etc.

Una cola es solo una lista de elementos que debe ser procesada en un orden en particular: FIFO o FILO

Hoy vamos a construir un Sistema de cola (o espera) con enfoque FIFO para los restaurantes: Si llega un nuevo cliente al restaurante, se añade su teléfono a la cola, cuando se hora se sentarse a la mesa, el cliente será notificado por email.

🌱 Cómo iniciar este proyecto

Este proyecto viene con los archivos necesarios para empezar a trabajar, pero tienes dos opciones para empezar:

a) Abrir este link con Gitpod (recomendada) en tu navegador: https://gitpod.io#https://github.com/breatheco-de/exercise-queue-management-cli-python

b) Clonar este repositorio localmente en tu computador:

1$ git clone https://github.com/breatheco-de/exercise-queue-management-cli-python
  1. Intalar las dependencias de los paquetes con el comando$ pipenv install

  2. Ingresar al entorno con el comando $ pipenv shell

  3. Puedes ejecutar tu proyecto con el comando $ python src/app.py

💡 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

¡Empieza a codificar! Actualiza el archivo app.py para que el usuario pueda gestionar o manejar un cola simple:

  • Añadir a una persona,
  • Eliminar a una persona, de quien es el turno (cola):
  • La aplicación también tiene que exportar la cola a un archivo llamado queue.json.
  • La aplicación debe integrar la API twilio para enviarle un un SMS cada vez que un número de teléfono salga de la lista de espera (cola)
  • Usa la siguiente estructura de datos para implementar la cola:
1class Queue: 2 3 def __init__(self, mode, current_queue=[]): 4 self.queue = current_queue 5 # dependiendo del the _mode, la cola debe comportarse FIFO o FILO 6 if mode is None: 7 raise "Please specify a queue mode FIFO or LIFO" 8 else: 9 self.mode = mode 10 11 def enqueue(self, item): 12 pass 13 def dequeue(self): 14 pass 15 def get_queue(self): 16 pass 17 def size(self): 18 return len(self.queue)

Ejemplo de flujo de trabajo

  1. La CLI muestra el menú y el usuario selecciona la opción para agregar "Bob" a la cola.
  2. La aplicación anuncia a Bob y notifica la confirmación en la terminal y debe decir cuántas personas hay frente a él en la línea.
  3. El sistema ahora muestra el menú (comienza de nuevo) esperando que el usuario elija otra opción.
  4. Si el usuario elige la opción de eliminar de la cola, la siguiente persona en la cola se elimina y se muestra un mensaje de confirmación.
  5. El usuario debe recibir un SMS a la hora de comer.
  6. Si el usuario elige ver el estado completo de la cola, se imprime una lista de todos con su posición respectiva en la cola.
  7. Si el usuario elige exportar la cola completa, se crea un archivo JSON con una lista de todos.

📖 Fundamentos

Este ejercicio te hará practicar los siguientes fundamentos:

  • Ejecución de archivos de Python desde la línea de comandos.
  • Obtenga la entrada del usuario desde la línea de comando.
  • Loops, condicionales y funciones.
  • Uso de archivos de texto sin formato para almacenar datos.
  • Estructuras de datos complejas.
  • Cola (FIFO vs FILO)
  • SMS.

Meta

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

Video tutorial

Dificultad

unknown

Repositorio

Clic para abrir

Video

No disponible

Demo en vivo

No disponible

Duración promedio

8 hrs

Tecnologías