Hecho por:
- Javier Fernández
- Marcos Díaz
- Guillermo Fernández
- Pablo Páramo
- David García
El proyecto consiste en una aplicación de una tienda de venta de productos deportivos.
La aplicación será accesible tanto por clientes como por administradores.
Los primeros podrán, entre otras acciones, ver el catálogo, añadir elementos a su cesta, eliminar elementos de esta o comprarla.
Los administradores, por su parte, tendrán la capacidad de realizar modificaciones en el catálogo de la tienda.
La arquitectura a emplear en este trabajo será: Arquitectura Cliente-Servidor.
-
Diagramas C4 del proyecto:
iex --sname host -S mix run -- app
Terminal de administrador:
iex --sname admin -S mix run -- admin
Node.ping :"host@david-ThinkPad-L13-Yoga"
Terminal de cliente 1:
iex --sname client1 -S mix run -- cliente
Node.ping :"host@david-ThinkPad-L13-Yoga"
Terminal de cliente 2:
iex --sname client2 -S mix run -- cliente
Node.ping :"host@david-ThinkPad-L13-Yoga"
Terminal de host:
Node.list
Admin:
Administrador.AdminDir.ver_catalogo()
Administrador.AdminDir.ver_catalogo(5)
Administrador.AdminDir.anadir_elemento(%{name: "Regular Fit Padded Vest", category: "Tennis", stock: 4, brand: "Mizuno", price: 19.99})
Cliente.ClienteDir.ver_catalogo()
Administrador.AdminDir.ver_catalogo()
Administrador.AdminDir.editar_elemento(11, %{name: "Regular Fit Padded Vest", category: "Tennis", stock: 20, brand: "Mizuno", price: 19.99})
Administrador.AdminDir.ver_catalogo()
Administrador.AdminDir.eliminar_elemento(11)
Administrador.AdminDir.ver_catalogo()
Cliente:
Cliente.ClienteDir.ver_catalogo()
Cliente.ClienteDir.anadir_cesta(1, 3, self())
Cliente.ClienteDir.anadir_cesta(2, 6, self())
Cliente.ClienteDir.anadir_cesta(1, 1, self())
Cliente.ClienteDir.ver_cesta(self())
2 Cliente.ClienteDir.ver_cesta(self())
Cliente.ClienteDir.eliminar_cesta(2, 6, self())
Cliente.ClienteDir.eliminar_cesta(1, 2, self())
Cliente.ClienteDir.ver_cesta(self())
Cliente.ClienteDir.comprar_cesta(self())
Cliente.ClienteDir.ver_cesta(self())
Administrador.AdminDir.ver_catalogo(1)
Cliente.ClienteDir.anadir_cesta(2, 6, self())
Cliente.ClienteDir.cancelar_cesta(self())
1 Cliente.ClienteDir.anadir_cesta(2, 4, self())
2 Cliente.ClienteDir.anadir_cesta(2, 3, self())
1 Cliente.ClienteDir.comprar_cesta(self())
2 Cliente.ClienteDir.comprar_cesta(self())