UiRestaurant é uma aplicação web para gestão de pedidos, produtos, mesas e sessões em restaurantes, desenvolvida como parte de um projeto de pós-graduação em DevOps. O sistema é composto por um frontend em Angular, backend em Node.js/Express, banco de dados relacional e infraestrutura orquestrada com Docker e Kubernetes.
- Descrição do Projeto
- Tecnologias Utilizadas
- Estrutura de Diretórios
- Como Executar Localmente
- Testes
- Infraestrutura com Docker e Kubernetes
- Autores
O UiRestaurant permite o gerenciamento completo de um restaurante, incluindo:
- Cadastro e visualização de produtos
- Gestão de pedidos
- Controle de mesas e sessões
- Interface web moderna e responsiva
- API RESTful para integração
O projeto é dividido em três principais partes:
- front/: Aplicação Angular (interface do usuário)
- api/: Backend Node.js/Express (serviços REST)
- kubernetes/: Manifests para orquestração dos serviços em ambiente cloud-native
- Frontend: Angular 20+
- Backend: Node.js, Express, TypeScript
- Banco de Dados: Relacional (configuração via scripts SQL)
- Docker: Containers para front, api e banco de dados
- Kubernetes: Orquestração dos serviços, namespaces, deployments, services, configmaps, PVC
- Ferramentas DevOps: Docker Compose, scripts de inicialização, CI/CD (sugestão)
├── api/ # Backend Node.js/Express
│ ├── src/
│ ├── controllers/
│ ├── database/
│ ├── middlewares/
│ ├── routes/
│ └── utils/
├── front/ # Frontend Angular
│ ├── src/
│ ├── app/
│ ├── assets/
│ └── scripts/
├── kubernetes/ # Manifests para orquestração
│ ├── back/
│ ├── db/
│ ├── front/
│ └── logs/
├── docker-compose.yml
├── init.sql
├── insert_products.sql
└── README.md
- Node.js >= 18
- Angular CLI
- Docker e Docker Compose
cd api
npm install
npm run startPor padrão, a API estará disponível em http://localhost:3000.
cd front
npm install
ng serveAcesse http://localhost:4200 no navegador.
Para subir todos os serviços (front, api, db) via containers:
docker-compose up --buildng testnpm testO projeto possui Dockerfiles para o frontend e backend, permitindo a criação de containers isolados. O arquivo docker-compose.yml orquestra os serviços localmente para desenvolvimento e testes.
Na pasta kubernetes/ estão os manifests para deploy em clusters Kubernetes:
- back/: Deployments, Services, ConfigMaps para o backend
- db/: Deployments, PVC, ConfigMaps para o banco de dados
- front/: Deployments, Services, ConfigMaps para o frontend
Para aplicar os recursos em um cluster Kubernetes:
kubectl apply -f kubernetes/back/
kubectl apply -f kubernetes/db/
kubectl apply -f kubernetes/front/Scripts apply-all.sh facilitam a aplicação de todos os recursos de cada módulo.
Projeto desenvolvido por alunos da pós-graduação em DevOps.
Para dúvidas ou sugestões, abra uma issue ou entre em contato com os mantenedores.