MasterJava: DESARROLLO DE APLICACIONES FULL STACK, JAVA EE + ANGULAR JS
Se puede acceder a una demo de la aplicacion a traves del siguiente enlace (Las claves de usuario se proporcionaran junto al email)
JAVA 11
Mysql 8.0.24
Maven 4
Angular 12
node.js
Se desea realizar una aplicación web que se encargue de realizar la gestión de venta de mascotas. El acceso a dicha aplicación podrá ser realizada por un único administrador y por una serie de usuarios.
El acceso a la aplicación tanto por el usuario como por el administrador será realizado mediante un username y una contraseña. El username solo admitirá caracteres en minúscula (máximo de 6 caracteres) y la contraseña podrá admitir caracteres mayúsculas y minúsculas así como números, todo entre 6 y 12 caracteres.
Una vez logueado correctamente el administrador, le permitirá realizar operaciones como:
- Dar de alta un usuario a la aplicación
- Dar de baja un usuario en la aplicación
- Modificar datos de un usuario
- Listado de los datos de los usuarios a la aplicación.
- Dar de alta una mascota ( id, nombre, tipo, precio)
- Modificar datos de mascota.
De los usuarios de la aplicación utilizaremos como datos:
- Nombre y apellido
- Teléfono de contacto
- Username y contraseña.
La entrada de un usuario en la aplicación consistirá en interaccionar con la aplicación la cual tendrá como finalidad realizar la el proceso de venta de una mascota.
Una vez registrado el usuario correctamente, el usuario podrá visualizar el listado de mascotas disponibles visualizando todos los datos de la misma.
Una vez elegida la mascota, el usuario podrá realizar las siguientes operaciones:
- Vender la mascota.- El usuario debe introducir el dni del comprador de la mascota. Si ya se encuentra registrado se procederá a la venta y sino se procederá a registrar al comprador en el sistema. Los datos del registro serán: DNI, nombre (solo caracteres), apellido (solo caracteres), dirección, localidad, correo electrónico ( verificar correo bien escrito) y teléfono de contacto (verificar teléfono bien escrito); todos los campos son obligatorios. La información del comprador será utilizada para posteriormente poder realizar envíos de publicidad.
- Informe por tipo de mascota.- Para ayudar al usuario en la venta, el usuario dispondrá de esta opción para filtrar el listado de mascotas por su tipo.
- Histórico de ventas. Además de las ventas realizadas deberá aparecer la suma total de las ventas.
- Cerrar aplicación.
La aplicación será realizada utilizando html y hojas de estilo para su maquetación (podrás valerte de
frameworks como bootstrap) y realizando validaciones síncronas y asíncronas de los datos de los
formularios mediante angular en la parte front-end de todos los formularios de la aplicación.
La parte de back-end será realizada mediante Spring con uso de persistencia de datos para la
manipulación de datos en la base de datos.
Toda la información manipulada será almacenada en la base de datos, siendo realizado previamente el
diseño de la base de datos. Para posibles versiones futuras mantener la aplicación en un repositorio Git.
UPDATED 28/06/2021 para aumentar el numero de usuarios en un futuro, se ha cambiado el valor de la base de datos de users.username a varchar(255), aunque en la aplicacion esta restringido a 6 caracteres como se pide
Para el correcto funcionamiento de la aplicación es necesario seguir los siguientes pasos:
Para descargar el repositorio es necesario introducir el siguiente comando en el terminal (teniendo intalado git)
$ git clone https://github.com/javierfg410/MasterJava.git
Crear una base de datos con el nombre de "master" y crear un usuario de la base de datos en "\src\main\resources\application.properties"
Dirigirse al directorio master
Si es la primera instalacion es necesario asegurarse que los archivos \src\main\java\com\java\master\util\CreateAdmin.java y \src\main\java\com\java\master\util\CreateRoles.java estan descomentados
Teniendo descargado Java y maven se puede compilar utilizando dos comandos
$ ./mvnw spring-boot:run
o tambien
$ mvn spring-boot:run
Si es la primera instalacion es necesario asegurarse que los archivos \src\main\java\com\java\master\util\CreateAdmin.java y \src\main\java\com\java\master\util\CreateRoles.java estan comentados una vez instalado
Dirigirse al directorio crudMaster
En el caso de no tener instalado nodejs, introducir el siguiente comando
$ sudo apt install -y nodejs
Instalar todas las dependencias
$ npm install
Arrancar un servidor para pruebas
$ ng serve -o