Sistema de gerenciamento de senhas de uma fila, contendo opções como Normal e Preferencial.
O sistema conta com 3 telas:
- Painel - /panel
- Cliente - /customer
- Gerente - /manager
Nota: Foi solicitado que a comunicação entre cliente e servidor fosse realizada utilizando a arquitetura REST, por isso a atualização de novas senhas chamadas foi feita através de requests partindo do Front, ao invés de usar um WebSocket, que deixaria a comunicação e atualizações mais fluídas.
- Mostra a última semana chamada, e cinco das anteriores.
- Tela onde o cliente pode escolher o tipo de senha que deseja.
- Tela para gerenciar a chamada das senhas. Permitindo chamar a próxima senha, reiniciar a contagem, e adicionalmente gerar novas senhas.
- O projeto foi desenvolvido com uma API Java, acompanhada de um banco de dados PostgresSQL, e possuindo um Frontend simples, desenvolvido em React.
Para rodar o projeto é necessário ter o Docker instalado na máquina hospedeira.
- O projeto foi separado em três containeres Docker, deixando assim, Front, API e Banco em locais separados.
- Rode este comando para criar a rede necessária para comunicar entre API e Front
- docker network create -d bridge ticket-manager-network
- Navegue até o diretório API e rode os seguintes comandos:
mvn clean package
docker build -t ticket-manager-api .
docker-compose up -d
- Navegue até o diretório Front e rode os seguintes comandos:
Atenção 1: Utilizar o npm
para o install, pois necessitamos do arquivo package-lock.json
.
docker build -t ticket-manager-front:dev .
docker run -d -it --rm --name front --network=ticket-manager-network -v ${PWD}:/app -v /app/node_modules -p 3001:3000 -e CHOKIDAR_USEPOLLING=true ticket-manager-front:dev
- Após rodar os comandos acima para API e front, eles estarão disponíveis, respectivamente, nas postas 8081 e 3001 no localhost.