Squad-17 / Hackaton-API

API para o projeto do hackaton FCamara

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🧡 Hackathon-FCamara API

API tem como objetivo fornecer o serviço para agendamento de colaboradores da FCamara em seus escritórios ou filiais, visando garantir a segurança respeitando a capacidade máxima de cada ambiente de acordo com a legislação imposta por conta da pandemia (COVID-19).

⚙️ Executando o projeto

Pré-requisitos

Instruções

Para começar siga os próximos passos.

Configurando o banco de dados

Após seguir os passos de instalação do MySQL, abra o Mysql Workbench para criar o banco de dados. Dentro do Workbench, digite:

create database (nome_do_banco) e pressionar Ctrl + enter

Clone o repositório e acesse com o editor de código escolhido

git clone https://github.com/Squad-17/Hackaton-API.git

Conectando o banco de dados ao Entity Framework

Abra o arquivo appsettings.json e na propriedade MyCon insira a string de conexão para o banco de dados

Se nada foi alterado durante a instalação, sua string de conexão deve ser algo parecido com isso:

server=localhost;port=3306;database=nome_do_banco;uid=root;password=senha"

onde (nome_do_banco) é o nome que foi dado ao banco no primeiro passo e senha é a mesma senha criada na instalação do MYSQL

Executando o projeto

Com VSCode

Instalar extensões necessárias

Instale as ferramentas do Entity framework

Na linha de comando (Ctrl + ") digite:

dotnet tool install --global dotnet-ef

e pressione enter. Após isso, digite:

dotnet ef

caso a instalação tenha sido bem sucedida, isso será mostrado:

             ---==/    \\
       ___  ___   |.    \|\
      | __|| __|  |  )   \\\
      | _| | _|   \_/ |  //|\\
      |___||_|       /   \\\/\\

Entity Framework Core .NET Command-line Tools 2.1.3-rtm-32065

Criando as tabelas

Com tudo corretamente configurado, abra novamente a linha de comando (Ctrl + ") e digite:

dotnet ef database update

após a execução desse comando, as tabelas no banco de dados serão criadas

Executando o projeto

Agora, o projeto está pronto para ser iniciado, basta executar o comando:

dotnet run

o projeto será executado e estará disponível na rota https://localhost:5001
Com Visual Studio

Criando as tabelas

Abra o console do gerenciador de pacotes (Ferramentas > Gerenciador de pacotes do Nuget > Console do Gerenciador de Pacotes) e entre o comando

Update-Database

esse comando criará as tabelas no banco de dados

Executando o projeto

Agora, o projeto está pronto para ser iniciado, basta pressionar F5 e o projeto será executado na rota https://localhost:44346

Para ter certeza que o projeto está rodando, acesse a rota:

https://localhost:(porta-do-projeto)/api/local

Este json deverá aparecer

JSON

Pronto, a API está pronta para uso 😄!!!


☕ Referência

Entidades

Funcionario

Propriedade Tipo Obrigatório
Id inteiro automático
Nome string sim
Email string sim
Senha string sim
avatar enum padrão: 0
Cargo string não

Local

Propriedade Tipo
Id inteiro
Cidade string
Endereco string
Capacidade inteiro

Agendamento

Propriedade Tipo
localId inteiro
Data data
funcionarioId inteiro

DiaAgendamento

Propriedade Tipo
Data data
Disponivel boolean
DiaSemana string
DiaDoMes inteiro

Rest API

Próximos agendamentos

Requisição

GET /api/Agendamento/

Resposta

api/agendamento

Agendar

Requisição

POST /api/Agendamento/

Body: Objeto Agendamento

Resposta

api/agendamento

Datas para Agendamento disponiveis no local

Requisição

  GET /api/Agendamento/disponiveis/:localId

Resposta

api/agendamento/disponiveis

Cancelar agendamento

Requisição

  DELETE /api/Agendamento/

  Body: Objeto agendamento

Cadastrar Funcionario

Requisição

  POST /api/Funcionario/cadastrar

  Body: Objeto Funcionario

Login Funcionario

Requisição

  POST /api/Funcionario/login

  Body: Objeto funcionário

Informações do Funcionario

Requisição

  GET /api/Funcionario/info

Resposta

api/funcionario/info

Altera o avatar do Funcionario

Requisição

  PATCH /api/Funcionario/avatar?avatar=(avatar-enum-value)

Retornar Locais

Requisição

  GET /api/Local/

Resposta

api/local

📄 Documentação com Swagger

  https://localhost:5001/swagger/index.html
  https://api-fcamara.herokuapp.com/swagger/index.html

🚀 Contribuições

  • DEV

Anderson Fonseca

Matheus Carvalho

Renan Marques
  • UX

Julia Resende

Thiago Falchet

About

API para o projeto do hackaton FCamara


Languages

Language:C# 100.0%