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.
- Node.Js
- Express.js
- Typescript
- PostgreSQL
- Prisma
- AWS S3
- JsonWebToken
Para instalar a API, siga os passos abaixo:
- Clone o repositório:
- Acesse a pasta do projeto e execute o seguinte comando:
cd srcnpm run buildnpm run dev
git clone https://github.com/Gabriel-Vict0r/behappy-api.git
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
Abaixo estão listadas algumas das rotas principais da API:
- POST - /v1/create-admin: cria um novo administrador.
-
Corpo da requisição:
{ "name": "string", "password": "string", "email": "string" }
-
Corpo da requisição:
- 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" }
- Corpo da requisição:
- 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 } }
-
Crie dois FormData, um contendo um objeto com as informações textuais e o outro contendo as imagens.
- 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 } } ]
- Resposta da requisição:
- 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 } ] }
- Resposta da requisição:
- 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 } } ]
- 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 } }
Este projeto está licenciado sob a Licença MIT. Veja o arquivo LICENSE para mais detalhes.