Skip to content

lipeqalves/ALCANCE-API-Rest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto Final Módulo 4 - API REST

Design sem nome

Projeto - Instalação - Execução - Banco de Dados - Testes - Entidades - Desenvolvedores

📕 Sobre o Projeto

A Startup Alcance é a proposta de um MVP que tem por objetivo oferecer cursos profissionalizantes para jovens de baixa renda dispostos a se qualificar para o mercado de trabalho. Para simular o gerenciamento dessa escola criamos uma aplicação no ambiente back-end utilizando Node.js com framework Express, banco de dados relacional SQLite, padrão do tipo REST, padrão MVC e o padrão DAO na construção do projeto.

Este projeto encontra-se hospedado no heroku: Alcance

image image image image image

🔧 Instalação da Aplicação

  • Abra o terminal em uma pasta de sua preferência e adicione os seguintes comandos:
git clone https://github.com/lipeqalves/ALCANCE-API-Rest.git
  • Para entrar na pasta do projeto:
cd ALCANCE-API-Rest
  • Instale as dependências necessárias com o seguinte comando:
npm i

🎲 Execução do Projeto

  • Para inicialização do projeto utilize o comando:
npm start

🗄 Informações sobre o banco de dados:

Foi desenvolvido uma tarefa para popular o banco de dados e auxiliar na validação. Utilize o seguinte comando para execução:

npm run infra

📌 Testes

Para a execução de testes já definidos na aplicação utilize o seguinte comando no terminal:

npm test

❌ Observações

Houve tentativas de testes de integração neste projeto e se encontram nas branchs: test-integracao-aluno e test-integracao

  • Alunos

Request

GET / alunos

Visualização de alunos no banco de dados:

http://localhost:3000/alunos

Response

	{
		"id": 1,
		"nome": "Filipe",
		"email": "aluno@test.br",
		"telefone": "8199999999",
		"idade": "20",
		"turma": "A",
		"curso": "Informática Avançada"
	}

Request

GET / alunos/id

Visualização de aluno por Id no banco de dados:

http://localhost:3000/alunos/2

Response

{
	"id": 2,
	"nome": "Juliana",
	"email": "aluno@test.br",
	"telefone": "8199999999",
	"idade": 16,
	"turma": "B",
	"curso": "Informática Básica"
}

Request

POST / alunos

http://localhost:3000/alunos

Modelo de requisição para inserir aluno no banco de dados:

	{
		"nome": "cecilia",
		"email": "aluno@test.br",
		"telefone": "12992033219",
		"idade": "17",
		"turma": "E",
		"curso": "Informática Avançada"
	}	

Response

{
	"error": false,
	"message": "Cadastrado com sucesso!"
}

Request

PUT / alunos/id

http://localhost:3000/alunos/3 

Modelo de requisição para atualizar dados do aluno por Id:

	{
		"nome": "Cecilia",
		"email": "aluno@test.br",
		"telefone": "12992033219",
		"idade": "17",
		"turma": "E",
		"curso": "Informática Avançada"
	}	

Response

{
	"error": false,
	"message": "Registro com Id 3 atualizado com sucesso"
}

Request

DELETE / alunos/id

Deletar aluno do banco de dados por Id:

http://localhost:3000/alunos/3

Response

{
	"erro": false,
	"message": "Registro com Id 3 deletado com sucesso"
}
  • Cursos

Request

GET / cursos

Visualização de cursos no banco de dados:

http://localhost:3000/cursos

Response

	{
		"id": 1,
		"nome": "Informática Avançada",
		"horas_duracao": "80"
	}

Request

GET / cursos/id

Visualização de curso por Id no banco de dados:

http://localhost:3000/cursos/2

Response

	{
		"id": 2,
		"nome": "Gestão Financeira",
		"horas_duracao": "20"
	}

Request

POST / cursos

http://localhost:3000/cursos

Modelo de requisição para inserir curso no banco de dados:

	{
		"nome": "Programação Neurolinguistica",
		"horas_duracao": "10"
	}	

Response

{
	"error": false,
	"message": "Cadastrado com sucesso!"
}

Request

PUT / cursos/id

http://localhost:3000/cursos/3 

Modelo de requisição para atualizar dados do curso por Id:

	{
		"nome": "Programação Neurolinguistica",
		"horas_duracao": "10"
	}	

Response

{
	"error": false,
	"message": "Registro com Id 3 atualizado com sucesso"
}

Request

DELETE / cursos/id

Deletar curso do banco de dados por Id:

http://localhost:3000/cursos/3

Response

{
	"erro": false,
	"message": "Registro com Id 3 deletado com sucesso"
}
  • Empresa

Request

GET / empresa

Visualização de empresas no banco de dados:

http://localhost:3000/empresa

Response

	{
		"id": 1,
		"empresa": "Roberta soluções informática S.A",
		"cnpj": "12.652.984/0001-07",
		"email": "robertainfo@hotmail.com",
		"telefone": "5511988888888"
	}

Request

GET / empresa/id

Visualização de empresa por Id no banco de dados:

http://localhost:3000/empresa/2

Response

	{
		"id": 2,
		"empresa": "Filipe LTDA",
		"cnpj": "34.654.532/0001-08",
		"email": "filipe10@hotmail.com",
		"telefone": "5511988888888"
	}

Request

POST / empresa

http://localhost:3000/empresa

Modelo de requisição para inserir empresa no banco de dados:

	{
		"empresa": "filipe LTDA",
		"cnpj": "34.654.532/0001-08",
		"email": "filipe10@hotmail.com",
		"telefone": "5511988888888"
	}	

Response

{
	"error": false,
	"message": "Cadastrado com sucesso!"
}

Request

PUT / empresa/id

http://localhost:3000/empresa/3 

Modelo de requisição para atualizar dados da empresa por Id:

	{
		"empresa": "Filipe LTDA",
		"cnpj": "34.654.532/0001-08",
		"email": "filipe10@hotmail.com",
		"telefone": "5511988888888"
	}

Response

{
	"error": false,
	"message": "Registro com Id 3 atualizado com sucesso"
}

Request

DELETE / empresa/id

Deletar empresa do banco de dados por Id:

http://localhost:3000/empresa/3

Response

{
	"erro": false,
	"message": "Registro com Id 3 deletado com sucesso"
}
  • Formação

Request

GET / formacao

Visualização de formação no banco de dados:

http://localhost:3000/formacao

Response

	{
		"id": 1,
		"aluno": "Filipe",
		"instituicao": "Conexão",
		"cnpj": "12.652.984/0001-07",
		"telefone": "9999-9999",
		"email": "instituicao@conexao.com",
		"cidade": "Recife",
		"estado": "PE",
		"curso": "Informática Básica"
	}

Request

GET / formacao/id

Visualização de formação por Id no banco de dados:

http://localhost:3000/formacao/2

Response

	{
		"id": 2,
		"aluno": "Juliana",
		"instituicao": "Geração Aprender",
		"cnpj": "34.654.532/0001-08",
		"telefone": "5511988888888",
		"email": "instituicao@geracaoaprender.com",
		"cidade": "Garopaba",
		"estado": "SC",
		"curso": "Programação Neurolinguistica"
	}

Request

POST / formacao

http://localhost:3000/formacao

Modelo de requisição para inserir formacao no banco de dados:

	{
		"aluno": "roberta",
		"instituicao": "Focus",
		"cnpj": "56.655.489/0001-09",
		"telefone": "21 98888-8888",
		"email": "instituicao@focus.com",
		"cidade": "Rio de Janeiro",
		"estado": "RJ",
		"curso": "Informática Avançada"
	}	

Response

{
	"error": false,
	"message": "Cadastrado com sucesso!"
}

Request

PUT / formacao/id

http://localhost:3000/formacao/3 

Modelo de requisição para atualizar dados da empresa por Id:

	{
		"aluno": "Roberta",
		"instituicao": "Focus",
		"cnpj": "56.655.489/0001-09",
		"telefone": "21 98888-8888",
		"email": "instituicao@focus.com",
		"cidade": "Rio de Janeiro",
		"estado": "RJ",
		"curso": "Informática Avançada"
	}

Response

{
	"error": false,
	"message": "Registro com Id 3 atualizado com sucesso"
}

Request

DELETE / formacao/id

Deletar formação do banco de dados por Id:

http://localhost:3000/formacao/3

Response

{
	"erro": false,
	"message": "Registro com Id 3 deletado com sucesso"
}
  • Matriculas

Request

GET / matriculas

Visualização de matriculas no banco de dados:

http://localhost:3000/matriculas

Response

	{
		"id": 1,
		"aluno": "Roberta",
		"data_inicio": "29/23/2022",
		"numero_matricula": "564321",
		"turma": "C",
		"curso": "Informática Avançada"
	}

Request

GET / matriculas/id

Visualização de matricula por Id no banco de dados:

http://localhost:3000/matricula/2

Response

	{
		"id": 2,
		"aluno": "Filipe",
		"data_inicio": "29/03/2022",
		"numero_matricula": "123456",
		"turma": "A",
		"curso": "Informática Básica"
	}

Request

POST / matriculas

http://localhost:3000/matriculas

Modelo de requisição para inserir matricula no banco de dados:

	{
		"aluno": "Juliana",
		"data_inicio": "29/03/2022",
		"numero_matricula": "654321",
		"turma": "B",
		"curso": "Informática Intermediária"
	}	

Response

{
	"error": false,
	"message": "Cadastrado com sucesso!"
}

Request

PUT / matriculas/id

http://localhost:3000/matriculas/3 

Modelo de requisição para atualizar dados da matricula por Id:

	{
		"aluno": "Juliana",
		"data_inicio": "29/03/2022",
		"numero_matricula": "654321",
		"turma": "B",
		"curso": "Informática Intermediária"
	}

Response

{
	"error": false,
	"message": "Registro com Id 3 atualizado com sucesso"
}

Request

DELETE / matriculas/id

Deletar matricula do banco de dados por Id:

http://localhost:3000/matricula/3

Response

{
	"erro": false,
	"message": "Registro com Id 3 deletado com sucesso"
}
  • Turmas

Request

GET / turmas

Visualização de turmas no banco de dados:

http://localhost:3000/turmas

Response

	{
		"id": 1,
		"classificacao": "A",
		"data_inicio": "10/02/2022",
		"data_formatura": "10/11/2024",
		"professor": "Paulo Souza",
		"curso": "Informatica Basica"
	}

Request

GET / turmas/id

Visualização de turmas por Id no banco de dados:

http://localhost:3000/turmas/2

Response

	{
		"id": 2,
		"classificacao": "B",
		"data_inicio": "10/03/2022",
		"data_formatura": "10/12/2024",
		"professor": "Sandra Castro",
		"curso": "Informatica Intermediario"
	}

Request

POST / turmas

http://localhost:3000/turmas

Modelo de requisição para inserir turmas no banco de dados:

	{
		"classificacao": "C",
		"data_inicio": "10/04/2022",
		"data_formatura": "10/01/2025",
		"professor": "Monica Santoro",
		"curso": "Informatica Avançado"
	}	

Response

{
	"error": false,
	"message": "Cadastrado com sucesso!"
}

Request

PUT / turmas/id

http://localhost:3000/turmas/3 

Modelo de requisição para atualizar dados da turma por Id:

	{
		"classificacao": "C",
		"data_inicio": "10/04/2022",
		"data_formatura": "10/01/2025",
		"professor": "Monica Santoro Silva",
		"curso": "Informatica Avançado"
	}

Response

{
	"error": false,
	"message": "Registro com Id 3 atualizado com sucesso"
}

Request

DELETE / turmas/id

Deletar turmas do banco de dados por Id:

http://localhost:3000/turmas/3

Response

{
	"erro": false,
	"message": "Registro com Id 3 deletado com sucesso"
}

⬆ Voltar ao Topo

About

Repositorio destinado ao projeto final do Modulo 4 - Resilia educação - Grupo 3 - tema: Escola

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors