Este projeto implementa uma API RESTful utilizando FastAPI para gerenciar dados de pacientes e clínicas, armazenando-os no Firestore do Google Cloud.
- Frontend:
- O frontend da API é desenvolvido com React. O frontend se comunica com a API através de requisições HTTP.
- API:
- A API é implementada com o framework FastAPI, que é um framework Python para a construção de APIs RESTful. A API expõe endpoints para realizar operações CRUD em pacientes e clínicas.
- ORM:
- ORM (Object-Relational Mapper) é responsável por mapear objetos Python para entidades no banco de dados. No caso deste projeto, o ORM é utilizado para mapear objetos Paciente e Clinica para documentos no Firestore.
- Banco de Dados:
- O banco de dados utilizado para armazenar os dados dos pacientes e clínicas é o Firestore, que é um banco de dados NoSQL do Google Cloud.
- CRUD (Create, Read, Update, Delete) para Pacientes:
- Criar Paciente: Permite criar um novo paciente com informações como nome, email, telefone, endereço, etc.
- Obter Pacientes: Permite buscar todos os pacientes cadastrados ou um paciente específico por ID.
- Atualizar Paciente: Permite atualizar os dados de um paciente existente por ID.
- Deletar Paciente: Permite remover um paciente por ID.
- CRUD para Clínicas:
- Adicionar Clínicas: Realiza a adição de várias clínicas ao banco de dados a partir de uma API externa.
- Obter Clínicas: Permite buscar todas as clínicas cadastradas ou uma clínica específica por ID.
- Validação de Dados: Utiliza a biblioteca Pydantic para validar os dados de entrada das requisições.
- Tratamento de Erros: Implementa o tratamento de erros HTTP para lidar com casos como dados inválidos ou recursos não encontrados.
- Documentação: Utiliza a documentação automática do FastAPI para gerar documentação interativa da API.
A API está implantada no serviço Google Cloud, proporcionando alta disponibilidade, escalabilidade e integração perfeita com o Firestore. Esta implementação garante que a API possa lidar com um grande volume de solicitações de forma eficiente e segura.
- Instale as dependências:
pip install -r requirements.txt
- Execute a aplicação no terminal:
uvicorn crud_fastapi.main:app --reload
- FastAPI: Framework Python para a construção de APIs RESTful.
- Firestore: Banco de dados NoSQL do Google Cloud para armazenar os dados.
- Pydantic: Biblioteca para validação de dados e criação de modelos de dados.
- Requests: Biblioteca para realizar requisições HTTP.
- Firebase Admin SDK: SDK Python para interagir com o Firebase.
- O projeto depende de uma API externa para obter os dados das clínicas. A URL da API está definida na rota
/clinicas/add. - A chave de serviço do Firebase é armazenada no arquivo
secret.json. É importante manter esse arquivo em segurança.
- Bruno de Lucas
- Responsável pelo deploy da aplicação
- Lohhan Guilherme
- Responsável pela criação da API, interligação com o Banco de Dados e interligação com o Frontend.
- Lucas Kauã
- Responsável pela documentação do projeto.
- Jordana Tavares
- Responsável pela interligação da API com o Frontend.
- João Ricardo
- Responsável pela interligação da API com o Frontend.
- Lucas Menor
- Responsável pela documentação do projeto.
- Paulo Henrique
- Responsável pelo deploy da aplicação.
- Rafael Silva
- Responsável pela documentação do projeto.
- Wellerson Morais
- Responsável pela documentação do projeto.
- William Silva
- Responsável pelos testes da aplicação.
Este README é um guia básico para o projeto. Para obter informações mais detalhadas sobre o código, consulte os arquivos de código-fonte.
