Evaluando propuestas

Sistema control de contenedores

Publicado el 12 Diciembre, 2024 en Programación y Tecnología

Sobre este proyecto

Abierto

¡Entendido! Aquí tienes el prompt actualizado para GitHub Copilot con la modificación en la parte de pagos:

---

*Prompt para GitHub Copilot: Sistema de Control de Contenedores*

---

*Descripción del Proyecto:*

Estamos desarrollando un sistema de control de contenedores que permita asignar números de contenedores a diferentes clientes, agregar pagos a dichos contenedores, gestionar cargos extra y tarifas fijas por cliente, y monitorear el estado de los contenedores.

---

*Funcionalidades Principales:*

1. *Asignación de Contenedores:*
  - Los números de contenedores se extraen de un archivo Excel.
  - Cada cliente tiene uno o más contenedores asignados.
  - Los contenedores no se reasignan.

2. *Gestión de Pagos:*
  - Registrar pagos con detalles como fecha, monto, descripción y cuenta.
  - El número de contenedor es opcional. Si no se especifica, el pago se asignará al primer contenedor en la lista del cliente.
  - Gestionar pagos pendientes o atrasados y mostrar desglose de deudas y créditos de cada cliente.

3. *Cargos Extra y Tarifas Fijas:*
  - Aplicar cargos como cruce, transporte, y otros cargos extras como demora o información errónea.
  - Las tarifas fijas varían según el cliente.

4. *Monitoreo de Contenedores:*
  - Actualizar y visualizar el estado de los contenedores (modulado, entregado, demorado, etc.).
  - Estado actualizado manualmente por usuarios.

5. *Interfaz de Usuario:*
  - Sección de clientes con detalles de contenedores asignados.
  - Sección de contenedores con estado, costos y cargos extras.
  - Tabla de transacciones de pagos y desglose de deudas/créditos.
  - Funcionalidad de búsqueda/filtrado por cliente, contenedor o fecha.
  - Inicio de sesión y registro de usuarios, incluyendo un usuario master y sub-cuentas con permisos específicos.

6. *Seguridad y Autenticación:*
  - Autenticación de usuarios con correo electrónico y contraseña.
  - Diferentes roles con permisos de visualización y modificación basados en el rol.

---

*Estructura del Sistema:*

1. *Backend y Base de Datos:*
  - *SQL Database*: Utilizar una base de datos relacional para almacenar datos estructurados y mantener relaciones uno a muchos.
  - *Tablas y Relaciones*:
    - Clientes: (ID, Nombre, Información de Contacto)
    - Contenedores: (ID, Número, ClienteID, Estado)
    - Pagos: (ID, ContenedorID [opcional], Fecha, Monto, Descripción, Cuenta)
    - CargosExtras: (ID, ContenedorID, Tipo, Monto, Fecha, Descripción)
    - TarifasFijas: (ID, ClienteID, Tipo, Monto, Descripción)

2. *Endpoints de api:*
  - get /clientes: obtener lista de clientes.
  - POST /clientes: Crear un nuevo cliente.
  - GET /clientes/{id}: Obtener detalles de un cliente específico.
  - PUT /clientes/{id}: Actualizar información de un cliente.
  - DELETE /clientes/{id}: Eliminar un cliente.
  - GET /contenedores: Obtener lista de contenedores.
  - POST /contenedores: Asignar un nuevo contenedor a un cliente.
  - GET /contenedores/{id}: Obtener detalles de un contenedor específico.
  - PUT /contenedores/{id}: Actualizar información de un contenedor.
  - DELETE /contenedores/{id}: Eliminar un contenedor.
  - GET /pagos: Obtener lista de pagos.
  - POST /pagos: Registrar un nuevo pago (contenedor opcional).
  - GET /pagos/{id}: Obtener detalles de un pago específico.
  - PUT /pagos/{id}: Actualizar información de un pago.
  - DELETE /pagos/{id}: Eliminar un pago.
  - GET /cargos: Obtener lista de cargos extras.
  - POST /cargos: Registrar un nuevo cargo extra.
  - GET /cargos/{id}: Obtener detalles de un cargo extra específico.
  - PUT /cargos/{id}: Actualizar información de un cargo extra.
  - DELETE /cargos/{id}: Eliminar un cargo extra.
  - GET /tarifas: Obtener lista de tarifas fijas.
  - POST /tarifas: Registrar una nueva tarifa fija.
  - GET /tarifas/{id}: Obtener detalles de una tarifa fija específica.
  - PUT /tarifas/{id}: Actualizar información de una tarifa fija.
  - DELETE /tarifas/{id}: Eliminar una tarifa fija.

3. *Estrategia de Mantenimiento y Actualizaciones:*
  - Utilizar Git y GitHub para el control de versiones.
  - Implementar pruebas unitarias con pytest o Jest.
  - Configurar un pipeline de ci/cd usando github actions.
  - Desplegar la aplicación en Heroku o Vercel.
  - Monitorear la aplicación con UptimeRobot y configurar alertas.

4. *Despliegue:*
  - Configurar el servidor y entorno de producción en Heroku o Vercel.
  - Desplegar la aplicación usando GitHub Actions.

ESTE ES SOLO EL PRIMER MODULO DEL SISTEMA YA QUE SE DIVIDIO EN 3, LUEGO VAMOS A HACER LA DE LOS CLIENTES Y LA DE LOS AGENTES ADUANALES PERO POR AHORA SOLO PRESUPUESTO DE LA 1 PARTE

Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Cambio mediano
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Roles necesarios Diseñador, Programador

Plazo de Entrega: No definido

Habilidades necesarias

Otros proyectos publicados por D. V.