Herramientas de usuario

Herramientas del sitio


clase:daw:proyecto:1eval:tema02

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
clase:daw:proyecto:1eval:tema02 [2025/12/21 14:39] – [Modelo de Banco] Lorenzoclase:daw:proyecto:1eval:tema02 [2026/01/20 12:20] (actual) Lorenzo
Línea 12: Línea 12:
     * Backend     * Backend
     * MySQL Base de datos     * MySQL Base de datos
 +    * NGING Frontend
  
 <uml> <uml>
Línea 110: Línea 111:
  
 <uml> <uml>
 +hide circle
  
 class Cliente { class Cliente {
Línea 123: Línea 125:
 class CuentaBancaria { class CuentaBancaria {
   saldo   saldo
-  codigoCuentaBancaria+  iban
 } }
  
Línea 138: Línea 140:
   Date fecha   Date fecha
   BigDecimal importe   BigDecimal importe
 +  String concepto
 } }
  
Línea 152: Línea 155:
 enum OrigenMovimientoBancario { enum OrigenMovimientoBancario {
   Transferencia   Transferencia
 +  Domiciliacion
   TarjetaBancaria   TarjetaBancaria
 } }
Línea 157: Línea 161:
  
  
-Debe haber 2 endpoints:+==== Endpoints ==== 
  
   * ''/tranferencia''   * ''/tranferencia''
Línea 163: Línea 168:
 <sxh json> <sxh json>
 { {
-  codigoCuentaBancariaOrigen+  autorizacion:
 +    login:"juan" 
 +    api_token:"5f5ca67f-4c02-47cf-8753-a7790f7f5be1" 
 +  }, 
 +  origen: { 
 +    iban:"ES61 1234 3456 4204 5632 3532" 
 +  }, 
 +  destino: { 
 +    iban:"ES61 1234 3456 4204 5632 5555",   
 +  }, 
 +  pago: { 
 +    importe: 567.67, 
 +    concepto:"Comprar PC" 
 +  }
 } }
 </sxh> </sxh>
  
 +Reglas:
 +  * La cuenta origen debe ser del usuario **login**
 +  * Los iban deben tener formato de iban y empezar por ES
 +  * El importe debe ser positivo
 +  * El concepto debe tener al menos 3 letras
 +  * Debe haber suficiente dinero en la cuenta.
  
-  + 
 +  ''/pago_tarjeta'' 
 + 
 +<sxh json> 
 +
 +  autorizacion:
 +    login:"juan" 
 +    api_token:"5f5ca67f-4c02-47cf-8753-a7790f7f5be1" 
 +  }, 
 +  origen: { 
 +    numeroTarjeta:"4111 1111 1111 1111", 
 +    fechaCaducidad:"2027-12" 
 +    cvc:"123" 
 +    nombreCompleto:"JUAN GARCIA GARCIA" 
 +  }, 
 +  destino: { 
 +    iban:"ES61 1234 3456 4204 5632 5555",   
 +  }, 
 +  pago: { 
 +    importe: 567.67, 
 +    concepto:"Comprar PC" 
 +  } 
 +
 + 
 +</sxh> 
 + 
 + 
 +Reglas: 
 +  * La cuenta destino debe ser del usuario **login** 
 +  * Los iban deben tener formato de iban y empezar por ES 
 +  * El importe debe ser positivo 
 +  * El concepto debe tener al menos 3 letras 
 +  * Debe haber suficiente dinero en la cuenta de la tarjeta asociada. 
 +  * Todos los datos de la tarjeta deben coincidir con la tarjeta.
 ===== desplegar-proyecto ===== ===== desplegar-proyecto =====
 El repositorio ''desplegar-proyecto'' tendrá una estructura distinta ya que no es un proyecto de desarrollo de código sino únicamente para desplegar. El repositorio ''desplegar-proyecto'' tendrá una estructura distinta ya que no es un proyecto de desarrollo de código sino únicamente para desplegar.
Línea 180: Línea 237:
  
  
 +===== Ejemplo simple despliegue =====
  
 +<sxh bash;title:up.sh>
 +#!/bin/bash
  
 +docker compose down
 +docker compose build --no-cache
 +docker compose up -d
 +</sxh>
  
 +<sxh yaml;title: docker-compose.yml;highlight:[8,9,10,20,21,23-26]>
 +services:
 +  web:
 +    build:
 +      context: .
 +      dockerfile: web.Dockerfile    
 +    container_name: web-lorenzo    
 +    environment:
 +      VIRTUAL_HOST: lorenzo.preproducciondaw.cip.fpmislata.com
 +    networks:
 +      - proxy_red
  
 +  mariadb:
 +    image: mariadb:latest
 +    container_name: mariadb-lorenzo
 +    environment:
 +      MYSQL_ROOT_PASSWORD: lorenzo
 +      MYSQL_DATABASE: lorenzo
 +      MYSQL_USER: lorenzo
 +      MYSQL_PASSWORD: lorenzo
 +    networks:
 +      - proxy_red
  
 +networks:
 +  proxy_red:
 +    external:
 +      name: nginx-proxy-network
 +
 +</sxh>
 +
 +
 +<sxh bash;title:web.Dockerfile>
 +FROM nginx:alpine
 +COPY index.html /usr/share/nginx/html/index.html
 +</sxh>
 +
 +<sxh html;title:index.html>
 +<!doctype html>
 +<html lang="es">
 +<head>
 +<meta charset="utf-8">
 +<title>hola lorenzo</title>
 +</head>
 +<body>
 +hola lorenzo
 +</body>
 +</html>
 +
 +</sxh>
  
  
clase/daw/proyecto/1eval/tema02.1766324372.txt.gz · Última modificación: por Lorenzo