Sobre este proyecto
it-programming / web-development
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