Prévia do material em texto
UVA – Implementação Banco de Dados MySQL ATIVIDADE AVALIATIVA A2 Artur de Faria – 1200103025 Júlia Oliveira da Silva – 1180201161 Monize Pereira da Silva - 1200103225 Disciplina: IMPLEMENTAÇÃO BANCO DE DADOS MYSQL Professor: DENIS GONÇALVES COPLE Rio de Janeiro Julho 2023 UVA – Implementação Banco de Dados MySQL Sumário 1. INTRODUÇÃO AO PROJETO DA API: ....................................................... 3 1.1. Principais Tecnologias Utilizadas: .................................................. 3 1.1.1. Express JS ................................................................................. 3 1.1.2. JSON (JavaScript Object Notation) ........................................... 3 1.1.3. mysql2 (Driver node js p/ conexão com o banco de dados MySQL) 4 2. PRINCIPAIS RECURSOS E FUNCIONALIDADES ........................... 4 2.1. CRUD: ....................................................................................... 4 2.2. Roteamento e Mapeamento de URLs ....................................... 4 2.3. Validação de Dados ................................................................... 4 CAPTURAS DE TELA DA APLICAÇÃO RODANDO. .......................... 5 Página inicial (Home) ................................................................................ 5 Adicionar Pessoa ...................................................................................... 5 Listar Pessoas ........................................................................................... 5 UVA – Implementação Banco de Dados MySQL 1. INTRODUÇÃO AO PROJETO DA API: Express JS, um framework JavaScript popular para o desenvolvimento de aplicativos web. Nossa API oferece endpoints que permitem cadastrar novas pessoas no sistema, além de recuperar informações específicas ou listas completas desses registros. Também é possível atualizar os dados existentes e remover registros indesejados da base de dados. A API utiliza o formato JSON para a troca de dados, o que facilita a integração com outras aplicações. Além disso, ela se beneficia do Express JS, que oferece recursos avançados de desenvolvimento de aplicações Java, como injeção de dependência, controle transacional e facilidades para a interação com bancos de dados usando o mysql2. 1.1. Principais Tecnologias Utilizadas: 1.1.1. Express JS O Express.js é um framework web rápido e minimalista para o desenvolvimento de aplicativos web em Node.js. Ele fornece uma estrutura simples para criar servidores web e facilita o roteamento de solicitações HTTP, o manuseio de middleware e o renderização de respostas. O Express.js é amplamente utilizado para criar APIs RESTful, aplicativos web e servidores back-end em Node.js, e é conhecido por sua flexibilidade, facilidade de uso e extensibilidade. 1.1.2. JSON (JavaScript Object Notation) JSON (JavaScript Object Notation) é um formato leve e amplamente utilizado para a troca de dados entre um cliente e um servidor. Ele é fácil de ler e escrever, além de ser amplamente suportado em várias linguagens de programação. O JSON é utilizado para representar os dados que serão enviados e recebidos pela API. UVA – Implementação Banco de Dados MySQL 1.1.3. mysql2 (Driver node js p/ conexão com o banco de dados MySQL) O projeto MySQL2 é uma continuação do MySQL-Native. O código do analisador de protocolo foi reescrito do zero e a API alterada para corresponder ao popular mysqljs/mysql. A equipe MySQL2 está trabalhando junto com a equipe mysqljs/mysql para fatorar o código compartilhado e movê-lo para a organização mysqljs. 2. PRINCIPAIS RECURSOS E FUNCIONALIDADES 2.1. CRUD: Nossa API fornecerá operações de CRUD para manipular dados. Isso inclui a criação (Create), leitura (Read), atualização (Update) e exclusão (Delete) dos registros armazenados em um banco de dados. Essas operações permitem que os usuários interajam com os dados de maneira flexível e eficiente. Por meio da API, os aplicativos poderão criar novos registros, ler informações existentes, atualizar dados existentes e excluir registros indesejados. Essas funcionalidades são fundamentais para a manipulação de dados em um sistema e fornecem a base para muitas operações de software. 2.2. Roteamento e Mapeamento de URLs Usaremos uma estrutura MVC (Model-View-Controller) para mapear URLs para controladores e ações correspondentes. Isso permitirá que nossos clientes acessem os diferentes recursos da API por meio de URLs específicas. 2.3. Validação de Dados Implementaremos validação de dados para garantir que as informações enviadas para a API sejam válidas e atendam aos critérios estabelecidos. Essa prática é essencial para preservar a integridade dos dados e reforçar a segurança da aplicação. UVA – Implementação Banco de Dados MySQL CAPTURAS DE TELA DA APLICAÇÃO RODANDO. Página inicial (Home) Adicionar Pessoa Listar Pessoas UVA – Implementação Banco de Dados MySQL Editar Pessoa (Atualizar) UVA – Implementação Banco de Dados MySQL Acesso a API A Api fornece os endpoint para uma entidade chamada “pessoa” devendo ser acessada como pessoa. Segue abaixo exemplos de endpoint q podem ser acessados: GET 1. Obter a lista json de uma entidade /pessoa 2. Obter um objeto através de um id /pessoa/0 POST 1. Guarda uma entidade através de um json enviado para /pessoa PUT 1. Requisição PUT para "/pessoa/" com o id "1" atualiza um registro já existente, exemplo: http://mrfoo.ddns.net:30000/ava2/pessoa/1 http://mrfoo.ddns.net:30000/ava2/pessoa/1 UVA – Implementação Banco de Dados MySQL DELETE 1. Requisição DELETE para "/pessoa/" com o id "1" dispara a ação de remover o registro Exemplo de utilização com insomnia: Rodando aplicação back-end com Docker. • Requisitos da maquina 1 – node e Docker instalados. 1 – clone o repositório https://github.com/ArturDeFaria/uvadb2ava2.git 2 – acesse o repositório e rode o comando npm i 3 – após rode o comando docker build -t uvadb2ava . 4 – após a criação da imagem docker rode o comando docker run -p 3000-3000 uvadb2ava2 https://github.com/ArturDeFaria/uvadb2ava2.git