Sumário
Sobre |
Conhecimentos praticados |
Rotas da aplicação |
Tecnologias utilizadas
Projeto desenvolvido no final do Módulo 4, na Turma 10 do curso de Desenvolvimento Web Fullstack da Resilia Educação. A finalidade do projeto foi criar uma API para um estúdio de tatuagem utilizando Node, Express, Sequelize e SQLite.
Cada integrante do grupo ficou responsável pela criação de uma API referente à uma entidade do banco de dados do estúdio de tatuagem.
Sendo eles: Atendimentos, tatuadores, produtos e fornecedores.
Nesta aplicação é possível cadastrar, listar, atualizar e deletar atendimentos.
✔ NodeJs
✔ Express
✔ SQLite3
✔ Sequelize
✔ CRUD com Sequelize
✔ Padrão MVC
GET / - A rota deve exibir todos os atendimentos cadastrados.
GET /atendimentos/:id - A rota deve listar um atendimento baseado em seu ID.
POST /atendimentos - A rota deve cadastrar um atendimento com as informações passadas no body da requisição.
{
nome:"Gisele",
sobrenome:"Vieira Rocha",
cpf_cliente: "037.888.333-09",
email:"rochavieira@hotmail.com",
telefone:"44 9 99387752",
descricao_tattoo:"Uma tatuagem de um barco, de mais ou menos 50cm no braço.",
link_foto_tattoo:"https://www.google.com/url?sa=i&url=https%3A%2F%2Ftudocommoda.com%2Fpiercing-tattoo%2Ftatuagem-de-barco-e-navio%2F&psig=AOvVaw2i_rXpQXIrKT0s3IbowbEN&ust=1647831430415000&source=images&cd=vfe&ved=0CAsQjRxqFwoTCNDkgMzY0_YCFQAAAAAdAAAAABAD",
data_sessao_tattoo:"2022-04-17",
nome_tatuador:"Maria Júlia Rosseto"
}
PATCH /atendimentos/:id - A rota deve atualizar um atendimento com as informações passadas no body da requisição. Caso necessário apenas uma informação pode ser atualizada um por vez.
{
id: 1,
nome: "John Doe",
sobrenome: "Martins",
cpf_cliente: "064.332.633-05",
email: "john@hotmail.com",
telefone: "44 9 99786753",
descricao_tattoo: "Uma tatuagem de dragão, sem cores, de mais ou menos 70cm nas costas."
}
DELETE /atendimentos/:id - A rota deve deletar um atendimento baseado em seu ID.
Foram adicionadas as seguintes validações para os dados recebidos nas requisições:
GET/PATCH/DELETE
- O parâmetro da rota de listagem, atualização e deleção devem ser um número, e correspondente a um id de atendimento existente.
Antes de começar, você precisará instalar em sua máquina as seguintes ferramentas:
Git, Node.js e Insomnia.
Além disso, é aconselhável ter um editor como o VSCode para trabalhar com o código!
# Crie uma pasta onde desejar, clique com o botão direito e depois clique em -> Git Bash Here.
# Clone este repositório.
$ git clone https://github.com/CibeleMartins/studioTattooAPI-M4
# OBS: Para colar o link no Git clique com o botão direito e depois em -> Paste.
# Abra a pasta clonada em seu VSCode.
# Ao abrir a pasta no VSCode, clique em -> Terminal e inicie um novo terminal.
# Certifique-se de que está dentro da pasta clonada para que os outros comandos funcionem com êxito.
$ cd studioTattooAPI-M4
# Instale as dependências do projeto.
$ npm install
# Inicie o servidor da aplicação.
$ npm start
# Após isso, para não precisar abrir um novo terminal, aperte CTRL + C, digite "s" e aperte ENTER.
# Em seguida digite o comando responsável por criar a base de dados com a entidade Atendimentos.
$ npm run create-table
# OBS: 1 - Caso deseje fazer alguma alteração na entidade Atendimentos, entre em -> Migrations para configurá-la e em -> Models para passar a configuração da migração, e depois digite o comando supracitado. 2 - Caso seja feito esse tipo de alteração na tabela, é necessário também, inserir as alterações nos Atendimentos pré-inseridos na pasta seeders.
# Após, declare o comando que vai inserir alguns Atendimentos já pré-inseridos no módulo da pasta seeders para visualizarmos na tabela Atendimentos.
$ npm run populate-table
# Certifique-se de que o arquivo -> database.sqlite foi criado na pasta -> database e que a tabela possui três registros.
# Inicie a aplicação novamente para realizar as etapas no Insomnia com êxito.
$ npm start
# Se desejar deletar a migração de colunas e dados da tabela Atendimentos digite o comando
$ npm run delete-table
#Obs: Caso o usuário queira incrementar o projeto é recomendado que observe e verifique a documentação do Sequelize.
https://sequelize.org/
Utilize o Insomnia para realizar as requisições na studioTattooApi! Para isso, abra o Insomnia no seu computador.
Clique em -> Create e depois em -> File.
Vá até o arquivo -> crudInsomnia.har inserido dentro da pasta raiz do projeto, selecione-o e clique em -> import.
Ou somente clique no botão abaixo, observe os Gifs e realize as etapas seguintes
Abra a coleção criada no Insomnia com o nome My Collection. Através dos métodos HTTP você pode realizar todas as operações do CRUD com a studioTattooApi. Para isso é necessário que você clique em -> No Environment -> Manage Environments -> Base Environments e declare o seguinte json
{ "url": "localhost:3000" }
Clique em -> Done.
Após isso, utilize a variável de ambiente URL antes do nome da rota e teste o CRUD da aplicação.
Também é possível acessar as rotas da aplicação através da URL: https://appstudiotattoo.herokuapp.com
OBS: Para melhor visualização dos dados da aplicação, baixe a extensão JSON Viewer em seu navegador.
"dependencies": {
"chalk": "^5.0.1",
"dotenv-safe": "^8.2.0",
"express": "^4.17.3",
"path": "^0.12.7",
"sequelize": "^6.17.0",
"sequelize-cli": "^6.4.1",
"sqlite3": "^5.0.2",
"url": "^0.11.0"
},
"devDependencies": {
"nodemon": "^2.0.15"
}
}
Desenvolvido por Cibele Martins .