Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
AlvaroMartinezQ committed Mar 10, 2021
2 parents 873e880 + ab48dfb commit 7d635e2
Show file tree
Hide file tree
Showing 17 changed files with 123 additions and 66 deletions.
77 changes: 66 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,15 @@ Entidades:
```

Hay 3 roles de administradores principales del sistema, estos son:
* Manager: este usuario será el responsable de la tienda y/o jefe. En principio solo habrá 1 usuario manager. Solo él podrá añadir nuevos administradores, dar de baja usuarios y productos, modificar valores en las tablas...
* Técnico: este usuario será el responsable de controlar a los usuarios y productos. También será capaz de recoger informes de la tienda con el futuro servicio a implementar.
* Staff: este usuario será responsable de controlar los productos.
<p>
:arrow_forward: Manager: este usuario será el responsable de la tienda y/o jefe. En principio solo habrá 1 usuario manager. Solo él podrá añadir nuevos administradores, dar de baja usuarios y productos, modificar valores en las tablas...
</p>
<p>
:arrow_forward: Técnico: este usuario será el responsable de controlar a los usuarios y productos. También será capaz de recoger informes de la tienda con el futuro servicio a implementar.
</p>
<p>
:arrow_forward: Staff: este usuario será responsable de controlar los productos.
</p>

* Producto
```sh
Expand All @@ -94,15 +100,15 @@ Hay 3 roles de administradores principales del sistema, estos son:
Esta entidad representa a los pedidos del sistema.
* Trendrá una clave foránea referente al usuario que realiza el pedido.
* Tendrá claves foráneas a los productos del pedido.
```
```
Los pedidos funcionarán de la siguiente manera: cada vez que se crea un nuevo pedido con n productos se guardarán n entradas en la tabla de pedidos con un id único. Si se quiere añadir un nuevo pedido a un pedido existente, se ha de proporcionar el id único de ese pedido, si no existe se crea un pedido nuevo.

* Rating
```sh
* Rating
```sh
Esta entidad representa a los ratings de los pedidos.
* Tendrá una clave foránea referente al usuario que realiza el pedido.
* Tendrá una clave foránea al pedido en cuestión.
```
```
<br />
Diagramas de la aplicación:

Expand All @@ -112,25 +118,70 @@ Diagramas de la aplicación:
<img src="/statics/uml/uml_fase2.jpg" alt="uml">
</a>

* Modelo E/R
* Modelo E/R

<a href="https://github.com/AlvaroMartinezQ/clickandbuy">
<img src="/statics/uml/ModeloER.PNG" alt="modeler">
</a>

Pantallas de navegación:

* /

<a href="https://github.com/AlvaroMartinezQ/clickandbuy">
<img src="/statics/pantallas/1p.JPG" alt="pantalla1">
</a>

* /productView

<a href="https://github.com/AlvaroMartinezQ/clickandbuy">
<img src="/statics/pantallas/2p.JPG" alt="pantalla2">
</a>

* /users

<a href="https://github.com/AlvaroMartinezQ/clickandbuy">
<img src="/statics/pantallas/3p.JPG" alt="pantalla3">
</a>

* /admins

<a href="https://github.com/AlvaroMartinezQ/clickandbuy">
<img src="/statics/pantallas/4p.JPG" alt="pantalla4">
</a>

* /products/main

<a href="https://github.com/AlvaroMartinezQ/clickandbuy">
<img src="/statics/pantallas/5p.JPG" alt="pantalla5">
</a>

* /orders/main

<a href="https://github.com/AlvaroMartinezQ/clickandbuy">
<img src="/statics/pantallas/6p.JPG" alt="pantalla6">
</a>

* /ratings

<a href="https://github.com/AlvaroMartinezQ/clickandbuy">
<img src="/statics/pantallas/7p.JPG" alt="pantalla7">
</a>

### Tecnologías

* [Java](https://www.java.com/es/)
* [Spring](https://spring.io/)
* [Docker](https://www.docker.com/)
* [MySQL](https://www.mysql.com/)
* [Bootstrap](https://getbootstrap.com/)



<!-- EMPECEMOS -->
## Empecemos

Para descargar una copia local del proyecto sigue los siguientes pasos
Para descargar una copia local del proyecto sigue los siguientes pasos :rocket:

### Pre requisitios

Expand Down Expand Up @@ -160,7 +211,7 @@ Pasos:
```sh
git clone https://github.com/AlvaroMartinezQ/clickandbuy.git
```
2. TODO
2. En caso de usar Eclipse para lanzar el proyecto, abrir este en el IDE y lanzar la aplicación como una aplicación Spring.



Expand All @@ -181,6 +232,10 @@ Si iniciamos la aplicación a través de Eclipse, esta será desplegada y accesi

<img src="/statics/navimgs/login.JPG" alt="login">

* Página principal de visualización: <url -> 127.0.0.1:8080/productView>. Es esta página se muestran todos los productos a la venta a la vez que una serie de botones de enlaces rápidos que redireccionan a páginas de gestión de la web.

<img src="/statics/navimgs/mainView.JPG" alt="mainview">

* Página de error: <url -> cualquiera que no exista, por ejemplo: 127.0.0.1:8080/no_funciono>. Esta página es una redirección de /error cuando ocurre un fallo en el servidor, ya sea un error 403, 500, 400... También se ha ocultado información sensible respectiva al servidor de que sea imprimida por pantalla en el navegador.

<img src="/statics/navimgs/error.JPG" alt="error">
Expand All @@ -194,7 +249,7 @@ TODO: mapa de desarrollo (semanas, hitos, metas...)
<!-- CONTRIBUCIONES -->
## Contribuciones

Las contribuciones a este proyecto están cerradas ya que es un desarrollo de aplicación para un proyecto final de la universidad. Sin embargo, **el reporte de algún bug se apreciará por los desarrolladores**.
Las contribuciones a este proyecto están cerradas ya que es un desarrollo de aplicación para un proyecto final de la universidad. Sin embargo, **el reporte de algún bug se apreciará por los desarrolladores**. :octocat:

Todo el nuevo código debe de subirse a una nueva rama, ¡no subir cambios directamente a la rama <strong>master</strong>!

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,8 @@ public ModelAndView ratingCreate(Model model, @RequestParam(required=true) Strin
return new ModelAndView("/ratings/ratingsNew");
}
ratingservice.newRating(comment,Integer.parseInt(rate) , user.getId(), product.getId());
return new ModelAndView("/ratings/ratingsList");
model.addAttribute("created",true);
return new ModelAndView("/ratings/ratingsNew");
}

@GetMapping("/ratings/search")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,9 @@ public String addUserProduct(String name, String desc, double price, int units,
if(p.getProduct_stock()>0) {
p.setHas_stock(true);
p.setIs_active(true);
} else {
p.setHas_stock(false);
p.setIs_active(false);
}
List<Product> productlist = u.getUser_product_list();
productlist.add(p);
Expand Down Expand Up @@ -300,7 +303,6 @@ public User dataUpdate(String email, String user_name, String user_realname, Str
}
}
userdao.save(u);
System.out.println(u);
return u;
}

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 4 additions & 3 deletions clickandbuy-api/src/main/resources/templates/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@
<div class="row" style="background-color:#26272b;">
<div class="col-1" style="margin-top: 10px;margin-bottom:10px;"></div>
<div class="col-6" style="margin-top: 10px;margin-bottom:10px;">
<a href="/prouctView" type="button" class="btn btn-outline-primary">CLICK&BUY Co.</a>
</div>
<a href="/prouctView" type="button" class="btn btn-info">CLICK&BUY Co.</a>
<a type="button" href="/" class="btn btn-success">Página principal</a>
</div>
<div class="col-4 justify-content-md-end" style="margin-top: 10px;margin-bottom:10px;">
{{#is_logged}}
<button type="button" class="btn btn-light">Mi perfil</button>
Expand All @@ -24,7 +25,7 @@
{{/is_logged}}
</div>
<div class="col-1" style="margin-top: 10px;margin-bottom:10px;"></div>
</div>
</div>
<br>
</body>
</html>
21 changes: 4 additions & 17 deletions clickandbuy-api/src/main/resources/templates/mainView.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,6 @@
<meta charset="utf-8">
<!-- BOOTSTRAP CSS only -->
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
<style>
hr {
margin-top: 1rem;
margin-bottom: 1rem;
border: 0;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
</style>
</head>

<body>
Expand Down Expand Up @@ -65,12 +57,12 @@ <h3 style="text-align:left;color:black">Enlaces rápidos</h3>
</div>
</div>
<br>
<hr />
<hr class="rounded">
<div class="row">
<div class="col-1">
</div>
<div class="col-10">
<h3 style="text-align:left;color:black">Nuestros productos actuales:</h3>
<h3 style="text-align:left;color:black">Todos nuestros productos actuales:</h3>
</div>
<div class="col-1">
</div>
Expand All @@ -90,6 +82,7 @@ <h3 style="text-align:left;color:black">Nuestros productos actuales:</h3>
<div class="card-body">
<h5 class="card-title">{{product_name}}</h5><h6>Precio: {{product_price}}$</h6>
<p class="card-text">{{product_description}}</p>
<p class="card-text">Unidades del producto: {{product_stock}}</p>
<a href="/api/product/search?name={{product_name}}" class="btn btn-primary">Ver</a>
</div>
</div>
Expand All @@ -110,13 +103,7 @@ <h5 style="text-align:center;color:black">Sin productos disponibles.</h5>
</div>
</div>
<hr />
<div class="row">
<div class="col-1"></div>
<div class="col-1"><a type="button" href="/" class="btn btn-success">Página principal</a></div>
<div class="col-10"></div>
<br>
</div>
{{>footer}}
</div>
{{>footer}}
</body>
</html>
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ <h4 class="card-title mb-4 mt-1">Producto</h4>
</div> <!-- form-group// -->
<div class="form-group">
<label>Precio del producto</label>
<input type="number" name="product_price" class="form-control" placeholder="Precio">
<input type="number" step="0.01" name="product_price" class="form-control" placeholder="Precio">
</div> <!-- form-group// -->
<div class="form-group">
<label>Stock</label>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
<body>
{{>header}}
<div class="container">
<div class="col-1"><a href="/ratings" type="button" class="btn btn-outline-info">Volver</a></div>
<br>
<div class="card">
<article class="card-body">
<h4 class="card-title mb-4 mt-1">Genera un rating</h4>
Expand Down Expand Up @@ -56,6 +58,9 @@ <h4 class="card-title mb-4 mt-1">Genera un rating</h4>
{{#fill_fields}}
<p class="text-left" style="color:red;">Por favor, rellene todos los datos</p>
{{/fill_fields}}
{{#created}}
<p class="text-left" style="color:green;">Rating creado correctamente</p>
{{/created}}
</article>
</div> <!-- card.// -->
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,40 +11,46 @@

<body>
{{>header}}
<div class="container-fluid">
<div class="container">
<div class="row"><div class="col-1"><a href="/image" type="button" class="btn btn-outline-info">Volver</a></div></div>
<br>
<div class="card">
<article class="card-body">
{{#no_user}}
<h4 class="card-title mb-4 mt-1">Este usuario no existe.</h4>
{{/no_user}}
{{^no_user}}
{{#error}}
<!-- NO IMAGE -->
<h4 class="card-title mb-4 mt-1">Este usuario ({{email}}) no tiene imagen.</h4>
{{/error}}
{{^error}}
<!-- IMAGE -->
<h4 class="card-title mb-4 mt-1">Imagen de usuario con correo {{email}}</h4>
<img alt="" src="/api/image/retreive?usid={{usid}}">
{{/error}}
<form action="/image/user/upload" method="post" enctype="multipart/form-data">
<div class="form-group">
<input type="hidden" class="form-control" name="email" value="{{email}}" />
</div>
<div class="form-group">
<label>Seleccionar imagen nueva</label>
<input name="img" class="form-control" placeholder="" type="file">
</div>
<br>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block"> Subir imagen </button>
</div>
</form>
{{/no_user}}
</article>
</div>
<div class="row">
<div class="col-1"></div>
<div class="col-10">
<div class="card">
<article class="card-body">
{{#no_user}}
<h4 class="card-title mb-4 mt-1">Este usuario no existe.</h4>
{{/no_user}}
{{^no_user}}
{{#error}}
<!-- NO IMAGE -->
<h4 class="card-title mb-4 mt-1">Este usuario ({{email}}) no tiene imagen.</h4>
{{/error}}
{{^error}}
<!-- IMAGE -->
<h4 class="card-title mb-4 mt-1">Imagen de usuario con correo {{email}}</h4>
<img alt="" src="/api/image/retreive?usid={{usid}}">
{{/error}}
<form action="/image/user/upload" method="post" enctype="multipart/form-data">
<div class="form-group">
<input type="hidden" class="form-control" name="email" value="{{email}}" />
</div>
<div class="form-group">
<label>Seleccionar imagen nueva</label>
<input name="img" class="form-control" placeholder="" type="file">
</div>
<br>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block"> Subir imagen </button>
</div>
</form>
{{/no_user}}
</article>
</div>
</div>
<div class="col-1"></div>
</div>
</div>
{{>footer}}
</body>
Expand Down
Binary file added statics/navimgs/mainView.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added statics/pantallas/1p.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added statics/pantallas/2p.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added statics/pantallas/3p.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added statics/pantallas/4p.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added statics/pantallas/5p.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added statics/pantallas/6p.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added statics/pantallas/7p.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 7d635e2

Please sign in to comment.