fabiodelgadopereira /
FlaskApp
Este repositório contém um exemplo de APIs REST com Flask e Python utilizado SQL Server para armazenamento de dados
33/100 healthLoading repository data…
brunohjs / repository
Este repositório é um template de backend construído com FastAPI. O objetivo deste projeto é fornecer uma estrutura inicial organizada e escalável, pronta para o desenvolvimento de APIs RESTful com práticas recomendadas de código e segurança.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Para organizar um repositório de uma API construída com FastAPI, esta estrutura oferece uma separação bem definida entre módulos, facilitando a escalabilidade e manutenção do projeto.
.
├── api/
│ ├── routes/
│ │ ├── __init__.py
│ │ ├── user.py
│ │ └── __init__.py
│ └── router.py
├── config/
| ├── settings/
| | ├── __init__.py
| | ├── base.py
| | ├── development.py
| | ├── production.py
| | ├── qa.py
│ ├── __init__.py
│ ├── logging.py
│ └── settings.py
├── db/
| ├── __init__.py
| ├── base.py
| └── session.py
├── models/
│ ├── __init__.py
│ └── user.py
├── messages/
│ ├── __init__.py
| ├── error.py
│ └── user.py
├── repositories/
│ ├── __init__.py
│ └── user.py
├── schemas/
│ ├── __init__.py
│ └── user.py
├── security/
│ ├── __init__.py
│ ├── auth.py
│ └── security.py
├── services/
│ ├── __init__.py
│ └── user_service.py
├── tests/
│ ├── __init__.py
| ├── end_to_end/
│ | └── test_end_to_end.py
│ ├── security/
| | └── test_security.py
│ ├── unit/
│ │ ├── test_user.py
│ │ ├── test_item.py
│ └── └── test_schemas.py
├── scripts/
│ ├── start.sh
│ ├── pre_start.sh
│ └── test.sh
├── .env.example
├── .gitignore
├── .gitlint
├── .pre-commit-config.yaml
├── docker-compose.yml
├── Dockerfile
├── main.py
├── README.md
├── requirements.dev.txt
├── requirements.txt
└── setup.cfg
A seguir, a descrição da função de cada pasta e arquivo dentro do projeto.
Contém os endpoints da API e as rotas que definem os pontos de acesso da aplicação.
routes/: Diretório onde estão as definições específicas de rotas de cada módulo ou funcionalidade da aplicação.
router.py: Arquivo principal que inclui e organiza todas as rotas definidas no diretório routes. Ele conecta os diferentes módulos de rota e configura a aplicação FastAPI.
Armazena a configuração da aplicação, como variáveis de ambiente e configuração de logging.
settings/: Subpasta com configurações para diferentes ambientes.
Selected from shared topics, language and repository description—not editorial ratings.
fabiodelgadopereira /
Este repositório contém um exemplo de APIs REST com Flask e Python utilizado SQL Server para armazenamento de dados
33/100 healthdev-bfp /
Este repositório contém uma biblioteca Python desenvolvida para automatizar e facilitar integrações com o sistema IXC Provedor via API REST.
42/100 healthandrefelipebarros /
Este repositório contém um exemplo de integração com a Microsoft Graph API usando Python. Ele demonstra como autenticar e fazer chamadas à API utilizando requests e azure.identity.InteractiveBrowserCredential.
logging.py: Configuração do sistema de logs da aplicação. Define como e onde as mensagens de log serão registradas (por exemplo, no console ou em arquivos).
settings.py: Carrega as configurações de acordo com o ambiente em que a aplicação está rodando (desenvolvimento, produção ou QA).
Contém arquivos relacionados ao banco de dados, como a configuração de sessão e a base dos modelos ORM.
base.py: Define a classe Base usando declarative_base do SQLAlchemy, a qual será herdada por todos os modelos do banco de dados.
session.py: Contém a configuração de sessão do SQLAlchemy (por exemplo, criando uma sessão de banco de dados, SessionLocal, para ser usada nas interações com o banco).
Contém os modelos que representam as tabelas do banco de dados. Cada modelo geralmente é uma classe que herda de Base e mapeia uma tabela do banco.
User. Cada classe representa uma tabela no banco de dados e suas colunas são mapeadas como atributos da classe.Armazena mensagens de sucesso e erro que são retornadas pela API. Centraliza a definição de mensagens.
error.py: Contém mensagens genéricas de erro que serão usadas nas respostas da API (por exemplo, "Falha na consulta", "Erro interno", etc.).
user.py: Contém mensagens específicas relacionadas à criação, recuperação, atualização ou exclusão de usuários.
Contém as funções responsáveis pela interação direta com o banco de dados, como consultas, inserções, atualizações e exclusões de dados. Geralmente, isso abstrai a lógica de acesso ao banco para os serviços.
create_user(), get_user()).Contém os schemas de dados, usados para validação e serialização das informações. Estes são os modelos que a API recebe e retorna em formato JSON.
User, como os modelos Pydantic usados para validação de entrada e saída de dados (por exemplo, UserCreate, UserResponse).Contém funcionalidades relacionadas à segurança da aplicação, como autenticação, autorização e criptografia.
auth.py: Contém funções de autenticação, como geração de tokens JWT, verificação de senha, etc.
security.py: Contém configurações de segurança, como verificação de permissões, middleware de segurança, etc.
Contém a lógica de negócios da aplicação. Aqui ficam as funções que orquestram a execução do fluxo da aplicação, interagindo com os repositórios e aplicando regras de negócios.
Contém os testes automatizados da aplicação, organizados por tipo (unitários, de integração, de segurança, etc.).
end_to_end/: Contém testes de ponta a ponta que verificam o funcionamento completo de uma funcionalidade da API. Esses testes simulam o uso real da API.
security/: Contém testes relacionados à segurança da aplicação, como autenticação, autorização, etc.
unit/: Contém testes unitários que verificam funções isoladas, sem dependências externas.
Contém scripts auxiliares para rodar e configurar a aplicação ou ambiente.
start.sh: Script para iniciar a aplicação (provavelmente em um contêiner Docker ou diretamente no servidor).
pre_start.sh: Scripts de preparação que podem configurar o ambiente ou banco de dados antes de iniciar a aplicação.
test.sh: Script para rodar os testes automatizados.
.env.example: Exemplo do arquivo de configuração com variáveis de ambiente sensíveis, como credenciais de banco de dados, chave secreta, etc.
.gitignore: Define quais arquivos ou pastas devem ser ignorados pelo Git, como arquivos de configuração locais, caches, etc.
Dockerfile: Arquivo para construir a imagem Docker da aplicação, contendo instruções sobre como configurar o ambiente da aplicação.
main.py: O ponto de entrada da aplicação FastAPI. Define a instância do FastAPI e inclui as rotas da API.
requirements.txt: Contém as dependências do projeto, listando os pacotes necessários para rodar a aplicação (geralmente gerado com pip freeze).
README.md: Documento com informações gerais sobre o projeto, como como rodá-lo, como contribuir, e sua estrutura.
setup.cfg: Arquivo de configuração para ferramentas de linting, como o Flake8. Define regras de estilo e configurações específicas para garantir a consistência de código.
O projeto usa variáveis de ambiente para configurações sensíveis. Siga os passos abaixo para configurá-las:
Copie o arquivo .env.example para .env:
cp .env.example .env
Edite o arquivo .env para incluir suas configurações, como o URI do banco de dados, segredo para tokens JWT, entre outros parâmetros necessários.
Instale as dependências do projeto com o comando:
pip install .
Se caso queira instalar com as dependências de desenvolvimento, utilize o comando:
pip install .[dev]
O pre-commit serve para manter o padrão do projeto no momento do commit. Para configurá-lo, use os comandos:
pre-commit install
pre-commit install --hook-type commit-msg
Agora, você pode iniciar a aplicação. Existem duas formas principais: utilizando o Uvicorn diretamente ou com Docker.
Inicie a aplicação com o comando:
fastapi dev main.py
Se preferir rodar a aplicação em um contêiner Docker, utilize os seguintes comandos:
Compilar e executar os contêineres:
docker-compose up --build
A aplicação estará disponível em http://127.0.0.1:8000.
Para rodar os testes, utilize o comando:
pytest
Andremelo001 /
Este repositório contém estudos práticos sobre programação assíncrona em Python e uma aplicação FastAPI que demonstra conceitos de assincronismo aplicados em uma API REST com banco de dados.
34/100 healthPedroMissola /
Este repositório contém uma API RESTful desenvolvida em Python com Flask, voltada para a gestão escolar. A plataforma permite que professores e alunos sejam cadastrados, organização de matérias e atividades, além do lançamento de notas.
41/100 healthnatanlopes /
Este repositório contém um projeto desenvolvido na linguagem Python com o framework web Django e a extensão Django REST Framework para criar APIs REST. O objetivo deste projeto é ensinar desde os conceitos básicos envolvidos em aplicações de serviços web, passando pela instalação e utilização dos principais recursos do Django REST Framework.
34/100 health