Layout • Sobre o projeto • Como executar • Autor • Licença
- Nome do Projeto: Goomer Lista Rango
- Objetivo do Projeto: Criar uma API RESTful capaz de gerenciar os restaurantes e os produtos do seu cardápio.
- Tecnologia: Node.js com banco de dados relacional ou NoSQL.
-
A sua API deverá ser capaz de:
- Listar todos os restaurantes
- Cadastrar novos restaurantes
- Listar os dados de um restaurante
- Alterar os dados um restaurante
- Excluir um restaurante
- Listar todos os produtos
- Listar todos os produtos de um restautante
- Criar um produto de um restaurante
- Alterar um produto de um restaurante
- Excluir um produto de um restaurante
-
O cadastro do restaurante precisa ter os seguintes campos:
- Foto do restaurante
- Nome do restaurante
- Endereço do restaurante
- Horários de funcionamento do restaurante (ex.: De Segunda à Sexta das 09h as 18h e de Sabado à Domingo das 11h as 20h).
-
O cadastro de produtos do restaurante precisa ter os seguintes campos:
- Foto do produto
- Nome do produto
- Preço do produto
- Categoria do produto (ex.: Doce, Salgados, Sucos...)
- Quando o Produto for colocado em promoção, precisa ter os seguintes campos:
- Descrição para a promoção do produto (ex.: Chopp pela metade do preço)
- Preço promocional
- Dias da semana e o horário em que o produto deve estar em promoção
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js / Yarn.
- Renomear o arquivo .env.example para .env;
- Criar um database com um nome qualquer (goomerdb)
- Adicionar as credenciais do seu database no arquivo .env, por exemplo:
DB_HOST=localhost
DB_USER=postgres
DB_PASS=qwerty
DB_NAME=goomerdb
# Clone este repositório
$ git clone [email protected]:carloskotacho/goomer-api.git
# Acesse a pasta do projeto no terminal/cmd
$ cd goomer-api
# Instale as dependências
$ yarn
# Rodar migrations
$ yarn sequelize db:migrate
# Rodar seeds
$ yarn sequelize db:seed:all
# Execute a aplicação
$ yarn dev
Por fim, teste as requisições abaixo, utilizando algum sistema que teste serviços RESTful (Insomnia, Postman, etc...).
Restaurante
Verbo HTTP | URL | Descrição |
---|---|---|
GET | http://localhost:3333/api/restaurants/v1 | Listar todos os restaurantes |
POST | http://localhost:3333/api/restaurants/v1 | Cadastrar novos restaurantes |
GET | http://localhost:3333/api/restaurants/:id/v1 | Listar os dados de um restaurante |
PUT | http://localhost:3333/api/restaurants/:id/v1 | Alterar os dados um restaurante |
DELETE | http://localhost:3333/api/restaurants/:id/v1 | Excluir um restaurante |
Produtos
Verbo HTTP | URL | Descrição |
---|---|---|
GET | http://localhost:3333/api/products/v1 | Listar todos os produtos |
GET | http://localhost:3333/api/products/restaurant/:id/v1 | Listar todos os produtos de um restautante |
POST | http://localhost:3333/api/products/v1 | Criar um produto |
Carlos Henrique 🚀
Este projeto esta sobe a licença MIT.
by Carlos H. K