GithubHelp home page GithubHelp logo

api-manager-for-classrooms's Introduction

Projeto da disciplina Desenvolvimento Web 3

Este é um projeto que implementa um conjunto de APIs para realizar operações de CRUD (Create, Read, Update, Delete) em um módulo de sistema acadêmico relacionado às salas de aula.

Regras de Negócio

O projeto oferece cinco operações de CRUD na forma de APIs:

  1. GetAllSalasDeAula: Retorna todos os campos da tabela salasdeaula. Apenas registros com o campo removido igual a false são retornados.

  2. GetSalasDeAulaByID: Retorna todos os campos da tabela salasdeaula de acordo com o ID informado. Apenas o registro cujo campo removido seja igual a false é retornado.

  3. InsertSalasDeAula: Insere um novo registro na tabela salasdeaula.

  4. UpdateSalasDeAula: Atualiza um registro na tabela salasdeaula de acordo com o ID informado.

  5. DeleteSalasDeAula: Efetua um soft delete em um registro na tabela salasdeaula de acordo com o ID informado. O registro não é apagado fisicamente, apenas o campo removido é marcado como true.

Modelo Relacional

O modelo relacional da tabela salasdeaula é o seguinte:

  • salasdeaulaid (PK): Identificador único da sala de aula.
  • descricao (string): Descrição da sala de aula.
  • localizacao (string): Localização da sala de aula.
  • capacidade (integer): Capacidade máxima de alunos na sala de aula.
  • removido (boolean): Indica se o registro foi removido (soft delete).

Pré-requisitos

Antes de começar, verifique se você atende aos seguintes pré-requisitos:

  • Node.js: Certifique-se de ter o Node.js instalado na sua máquina. Você pode baixá-lo em nodejs.org.

  • PostgreSQL: É necessário ter o PostgreSQL instalado e configurado. Você pode baixar o PostgreSQL em postgresql.org.

  • Extensão REST Client: Recomendamos o uso de uma extensão REST Client para testar suas APIs. Uma extensão popular para Visual Studio Code é o "REST Client". Você pode instalá-lo a partir do Visual Studio Code Marketplace.

Instalação

  1. Clone o repositório para sua máquina local usando o seguinte comando:
git clone https://github.com/dimas7git/Node_DW3_CRUD
  1. Instale as dependências do projeto executando o seguinte comando na raiz do projeto:
npm install
  1. Criação do Banco de Dados:

Acesse o PostgreSQL usando o seguinte comando, substituindo "nome_do_seu_usuario" pelo seu nome de usuário:

psql -U nome_do_seu_usuario
  1. Crie o banco de dados "trab_crud" com o comando a seguir:
CREATE DATABASE trab_crud;
  1. Entre no banco de dados "trab_crud" recém-criado com o comando:
\c trab_crud
  1. Agora, crie a tabela "salasdeaula" e insira os dados:
  CREATE TABLE salasdeaula (
    salasdeaulaid SERIAL PRIMARY KEY,
    descricao VARCHAR(255) NOT NULL,
    localizacao VARCHAR(255) NOT NULL,
    capacidade INTEGER NOT NULL,
    removido BOOLEAN NOT NULL DEFAULT FALSE
  );
  
  INSERT INTO salasdeaula (descricao, localizacao, capacidade, removido)
  VALUES ('Sala 101', 'Prédio A', 30, false);
  
  INSERT INTO salasdeaula (descricao, localizacao, capacidade, removido)
  VALUES ('Sala 201', 'Prédio A', 25, false);
  
  INSERT INTO salasdeaula (descricao, localizacao, capacidade, removido)
  VALUES ('Sala 301', 'Prédio B', 40, false);

Para executar

  1. Abra o Projeto no Visual Studio Code, inicie um terminal e execute o comando:
node app.js
  1. Dentro do projeto, procure a pasta chamada tests.

  2. Localize o Arquivo testSala.rest e clique duas vezes para abri-lo.

  3. Enviar Solicitação: Para enviar a solicitação, você pode clicar no botão Send Request localizado no canto superior esquerdo da solicitação. Alternativamente, você pode usar o atalho de teclado Ctrl+Alt+R para enviar a solicitação.

  4. Observe a Resposta: Após enviar a solicitação, a resposta da API será exibida e você poderá ver os detalhes da resposta, como status, cabeçalhos e corpo da resposta.

Autores

Dimas Ferreira

Matheus Sass


api-manager-for-classrooms's People

Contributors

dimas7git avatar sassmatheus avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.