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/18 10:33] – [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 156: Línea 159:
 } }
 </uml> </uml>
 +
 +
 +==== Endpoints ====
 +
 +
 +  * ''/tranferencia''
 +
 +<sxh json>
 +{
 +  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>
 +
 +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 167: 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.1766050417.txt.gz · Última modificación: por Lorenzo