Skip to content

Dani45/BiblioSpringUrjc

Repository files navigation

BibliotecaWebUrjc_DAD


Nombre de la aplicación web: Biblioteca Web URJC

Descripción de la temática de la web:

La web consistirá en proporcionar servicio de una biblioteca tanto a usuarios que quieran hacer uso de la misma o tanto al bibliotecario para realizar todas las tareas de gestión que se necesitase.

Entidades principales:

  • Libro: Conlleva unos atributos que lo caracterizan (nombre, escritor, descripción, categoría)
  • Usuario: Diferencia de tipos de usuarios(si es socio o administrador de la biblioteca) y las acciones que permite realizar.
  • Categoría:Tendrá varias temáticas en las diferentes áreas(informática, literatura, biología, deportes, historia, geografía...)
  • Préstamo: Todo lo referente al control y gestión de los pagos de los carnet
  • Alternativa: Otros tipos de recursos disponibles en la biblioteca (películas, revistas, fanzines,...)

Funcionalidades del servicio interno:

  • Enviar notificaciones de los préstamos a los socios o de la fecha de caducidad del carné.
  • Comprobar cada cierto tiempo que se están realizando los pagos.
  • Cobrar el dinero correspondiente al precio del carné de socio.

Parte privada:

Los socios de la biblioteca pueden alquilar libros, también pueden renovar su carnet de socio anual, hacer reservas de libros, publicar alguna reseña sobre el libro alquilado, cambiar sus datos, realizar el pago de una deuda pendiente, ...

El administrador (bibliotecario) podrá gestionar el pago de los socios de la biblioteca, podrá expulsar a un socio por su mal comportamiento en la biblioteca, podrá sancionar a un socio por no devolver el libro alquilado en su debido tiempo, podrá señalar los libros que no puedan ser alquilados, podrá repartir los libros de la biblioteca en categorías,...

Parte pública:

Los usuarios que no sean socios de la biblioteca podrán consultar el horario de la biblioteca, consultar los precios y beneficios de poseer el carné de socio, una opción de contactar con la biblioteca (cómo llegar), ver las distintas redes sociales que tiene la biblioteca, ver información adicional de la biblioteca, consultar las normas de uso interno en la biblioteca, ver la política de privacidad,...

Integrantes del equipo de desarrollo:

  • Chengjian Li - c.li3.2016@alumnos.urjc.es - Oscarli1797
  • Fausto Daniel Luje Condor - fd.luje.2018@alumnos.urjc.es - Dani45

Modelo UML:

UML


Diagrama de clases:

Diagrama_de_clases


Modelo Entidad-Relación:

Diagrama_de_clases


Descripción de las pantallas principales:

  • Libro: Se puede buscar los libros que hay en la biblioteca por diferentes filtros: título y categoría
  • Usuario: Ingresas a la aplicación mediane un LogIn en el que se tiene que escribir los datos (nombre y contraseña) para acceder.
  • Categoría:Consulta todos los libros de la biblioteca repartidos en categorías para una mayor facilidad de uso
  • Préstamo: Accede a la posibilidad de entrar en el espacio personal del usuario premium para renovar el carné anual, cambiar los datos personales, etc.
  • Alternativa: Consulta los fanzines, revistas y películas que hay en la biblioteca.

  • Instrucciones precisas para desplegar la aplicación:

    Compilación:

    • 1. Botón derecho sobre el proyecto.
    • 2. Clickar sobre 'Run as'
    • 3. Clickar sobre Spring Boot Application

    Virtualizacion

    Comandos necesarios para instalar MySQL y poner en marca

    • Descargamos VirtualBox e instalamos.
    • Ir a configuración en virtual box. En red se debe de cambiar a (adaptador de puente) y en permitir (permita todo).

    MYSQL

    • Descargar Ubuntu-16.04.6-server-amd64.

    Extras para virtualBox

      - necesitamos instalar jdk y jre versión 8 	 
      - sudo apt-get install -y openjdk-8-jdk
      - sudo apt-get install -y openjdk-8-jre
    

    Instalamos MySQL por terminal.

      - sudo apt-get update
      - sudo apt-get install mysql-server (cuando instalamos mysql nos pide la contraseña)
      - cambiamos la contraseña de MySQL
      - mysql -u root (si lo hacemos por primera vez)
      - UPDATE mysql.user SET authentication_string=PASSWORD(‘123456’) WHERE User='root';
      - FLUSH PRIVILEGES;
      - salimos de mysql y volvemos a iniciar con la contraseña creada.
    

    Creamos la base de datos en MySQL

    - create database bibliospringdb;
    - show databases; (para mirar las bases de datos existentes)
    - select user,host,authentication_string from mysql.user (para ver si se ha cambiado o no la contraseña por defecto)
    

    Crear carpeta local para compartir con Windows.

    - sudo apt-get install virtualbox-guest-x11
    - mkdir /home/ubuntu/shared
    - sudo mount -t vboxsf shared /home/ubuntu/shared
    

    RED

    Para ejecutar las Aplicaciones

    - sudo java -jar BiblioSpringUrjc-0.0.1-SNAPSHOT &
    - sudo java -jar Servicio_interno-0.0.1-SNAPSHOT &
    

    Creación de Docker.

    Instalación de Docker en Ubuntu Server.

    Eliminamos versiones anteriores.

    sudo apt-get remove docker docker-engine docker.io containerd runc
    

    Actualizaríamos e instalaríamos Docker:

    sudo apt-get update
    sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io 
    sudo docker run hello-world
    

    Instalación de Docker-Compse

    sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    docker-compose --version
    

    Descargamos e instalamos las imágenes Docker:

    sudo Docker pull mysql:5.7
    sudo Docker build -t bibliospringurjc . 
    sudo docker build -t servicio_interno . 
    

    Arrancamos docker-compose:

    sudo docker-compose up -d
    

    Comandos Extras:

    • Parar contenedores: sudo docker stop <nombre imagen>
    • Listar contendores: sudo docker images
    • Inspeccionar un contenedor: sudo docker inspect <nombre_imagen>
    • Eliminar imagen: sudo docker rmi -f <nombre_imagen>
    • Ver contenido de imagen: sudo Docker tun -it imagen_name sh
    • Imagen en ejecución: sudo Docker ps -a
    • Conectar con un contenedor en ejecución: sudo docker exec -i -t <ID_IMAGEN> /bin/bash
    • Build Docker-compose: sudo docker-compose build
    • Detener docker-compose: sudo docker-compose down
    • Detener docker-compose eliminar volúmenes: sudo Docker-compose down -v
    • Ver Docker-compose: sudo Docker-compose ps
    • Reset iptables: sudo systemctl restart docker

    Video:

    https://www.youtube.com/watch?v=DavL4Aum1wI&feature=youtu.be

    About

    No description, website, or topics provided.

    Resources

    License

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published