Skip to content

Gabriel-Vict0r/behappy-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BeHappy API

BeHappy API é uma aplicação construída com Node.js que permite criar e gerenciar orfanatos. Esta API é projetada para ser utilizada como backend de um sistema que precisa armazenar e recuperar dados de instituições de acolhimento.

Tecnologias usadas

  • Node.Js
  • Express.js
  • Typescript
  • PostgreSQL
  • Prisma
  • AWS S3
  • JsonWebToken

Índice

Instalação

Para instalar a API, siga os passos abaixo:

  1. Clone o repositório:
  2.   
       git clone https://github.com/Gabriel-Vict0r/behappy-api.git
      
    
  3. Acesse a pasta do projeto e execute o seguinte comando:
      cd src
      npm run build
      npm run dev
    

Configuração

Para configurar a API, você precisará ajustar alguns parâmetros no arquivo .env, localizado na raíz do projeto. (caso não tiver, crie um nomeado como `.env`.


DATABASE_URL= Url da base de dados
PORT= porta que será usada
JWT_PASS= chave criptografada para gerar os tokens

Rotas

Abaixo estão listadas algumas das rotas principais da API:

Administrador
  • POST - /v1/create-admin: cria um novo administrador.
    • Corpo da requisição:
      
      {
        "name": "string",
        "password": "string",
        "email": "string"
      }
      
      
  • POST - /v1/login-admin: Obtém acesso a área restrita.
    • Corpo da requisição:
      
      {
        "email": "string",
        "password": "string",
      }
      
      
    • Resposta da requisição:
      
      {
        "name": "string",
        "email": "string"
        "password": "string",
        "token": "string"
      }
      
      
Orfanatos
  • POST - /v1/create-orphanage: cria um novo orfanato.
    • Crie dois FormData, um contendo um objeto com as informações textuais e o outro contendo as imagens.
      
      {
      	"name": "string",
      	"about": "string",
      	"instructions": "string",
      	"acept_weekend": boolean,
      	"phone": "string",
      	"hours": {
      			"final_hour": "string",
      			"initial_hour": "string"
      		},
      	"location": {
      		"latitude": number,
      		"longitude": number
      	}
      }
      
      
  • GET - /v1/get-orphanages: Obtém uma lista dos orfanatos cadastrados.
    • Resposta da requisição:
      
      [
      	{
      		"id": number,
      		"name": "string",
      		"about": "string",
      		"instructions": "string",
      		"acept_weekend": boolean,
      		"acepted": boolean,
      		"id_location": number,
      		"phone": "string",
      		"deletedAt": "DateTime" | null,
      		"location": {
      			"id": number,
      			"latitude": number,
      			"longitude": number
      		}
      	}
      ]
      
      
  • GET - /v1/get-orphanage/:id : Obtém um cadastro específico da bases.
    • Resposta da requisição:
      
      {
      	"id": number,
      	"name": "string",
      	"about": "string",
      	"instructions": "string",
      	"acept_weekend": boolean,
      	"acepted": boolean,
      	"id_location": number,
      	"phone": "string",
      	"deletedAt": "DateTime" | null,
      	"hours": [
      		{
      			"id": number,
      			"id_orphanage": number,
      			"final_hour": "string",
      			"initial_hour": "string"
      		}
      	],
      	"location": {
      		"id": number,
      		"latitude": "string",
      		"longitude": "string"
      	},
      	"pictures": [
      		{
      			"id": number,
      			"url": "string",
      			"id_orphanage": number
      		}
      	]
      }
      
      
  • GET - /v1/get-pending : Obtém os registros que estão pendentes (não foram aceitos/recusados).
    • Resposta da requisição:
      
      [
      	{
      		"id": number,
      		"name": "string",
      		"about": "string",
      		"instructions": "string",
      		"acept_weekend": boolean,
      		"acepted": boolean,
      		"id_location": number,
      		"phone": "string",
      		"deletedAt": "DateTime" | null,
      		"location": {
      			"id": number,
      			"latitude": number,
      			"longitude": number
      		}
      	}
      ]
      
      
  • PUT - /v1/update-orphanage/:id : Obtém os registros que estão pendentes (não foram aceitos/recusados).
    • Corpo da requisição:
      
      {
      	"name": "string",
      	"about": "string",
      	"instructions": "string",
      	"acept_weekend": boolean,
      	"phone": "string",
      	"hours": {
      			"final_hour": "string",
      			"initial_hour": "string"
      		},
      	"location": {
      		"latitude": number,
      		"longitude": number
      	}
      }
      
      
  • PATCH - /v1/disable-orphanage/:id : Desabilita o registro que foi passado como parâmetro na URL. (atualiza a coluna deletedAt com a data atual).
  • PATCH - /v1/reject-orphanage/:id : Desabilita o registro que foi passado como parâmetro na URL. (atualiza a coluna acepted para false).
  • Licença

    Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.

    About

    api restfull destined for a web app that management orphanages

    Topics

    Resources

    License

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published