Skip to content
This repository has been archived by the owner on May 16, 2021. It is now read-only.
/ ies-p1-g31 Public archive

Projeto Final da U.C. de Introdução à Engenharia de Software, UA 2020/2021

Notifications You must be signed in to change notification settings

hugofpaiva/ies-p1-g31

Repository files navigation

Sistema de monitorização de clientes e produtos de uma loja física e automatização de compras


Demo

Vídeo de uma demo disponível ao clicar na imagem

Sobre o projeto

O sistema tem a finalidade de simular a gestão de uma loja automatizada, ou seja, um estabelecimento que proporciona uma experiência de compras sem caixas de pagamento, ao reconhecer os produtos que um cliente retirou da prateleira e efetuar a cobrança no momento em que ele deixa a loja.

Ao chegar ao supermercado é detetada a sua entrada na loja e, através dos sensores distribuídos pelo espaço, são adicionados produtos ao seu carrinho virtual ou removidos se este os voltar a pousar. Terminadas as compras, não é preciso fazer nada: apenas sair da loja. Uma vez do lado de fora da loja a compra é finalizada.

Todos os dados referidos anteriormente, no contexto da disciplina de IES, são simulados e gerados automaticamente.

Esta aplicação é similar ao supermercado inteligente da Amazon com o conceito “Just Walk Out“, sem filas e sem ​checkouts​.

Backlog

Foi utilizado o Jira para planear e documentar o projeto. É possível encontrar informação nos links abaixo:

Jira (planeamento) https://hugofpaiva.atlassian.net/browse/IES

Confluence (documentação) https://hugofpaiva.atlassian.net/wiki/spaces

/Project: IES Pasta do projeto

/Iteration 1 Documentos relacionados com a iteração 1

Aquitetura

Componentes

Como executar

Para executar o sistema em localhost é necessário ter o Docker Compose instalado e atualizado.

Posto isto, os passos são os seguintes:

  1. Compilar o código do serviço em Spring Boot, tornando-o em um formato distribuível, executando dentro da pasta do projeto deste serviço o seguinte comando:

    $ mvn -DskipTests clean package
    
  2. Compilar os serviços para a executação dos containers Docker executando na raiz do repositório:

    $ docker-compose build
    
  3. Iniciar os containers:

    $ docker-compose up -d
    

A aplicação Web ficará disponível em: localhost

Deploy do sistema

A disponibilização do sistema foi feita através da Google Cloud Platform e de acordo com este guião, utilizando o free tier. Resumidamente, foi criada uma VM, clonado o repositório e executado o Docker Compose de acordo com o guião e com a versão 1.27.4 para suportar a versão 3.8 do ficheiro Compose. Por fim, nas definições de Firewall, foram abertas as portas 80 e 8080 para permitir o acesso à aplicação web e serviço, respetivamente.

A informação relativa ao deploy de cada componente do sistema encontra-se na sua pasta sendo que foi utilizado um ficheiro Docker Compose para definir e correr os múltiplos Docker Containers dos componentes do sistema, da mesma forma descrita anteriormente.

Tendo em conta que as configurações de CORS e o endereço da API à qual o React acede são diferentes do localhost, na branch deploy encontra-se o sistema pronto para deploy na nossa máquina virtual.

Aplicação Web disponível em: 35.246.117.113 (o máximo de clientes da loja está definido como apenas um para evitar esgotar o armazenamento, sendo possível alterar)

Detalhes

É possível encontrar todos os detalhes no Relatório do Trabalho.

Nota

Classificação individual referente ao trabalho de grupo de 20 valores em 20.

About

Projeto Final da U.C. de Introdução à Engenharia de Software, UA 2020/2021

Topics

Resources

Stars

Watchers

Forks