Skip to main content

Um template para iniciar projetos FastAPI rapidamente

Project description

FastAPI Starter - Estruturas de Projeto 🚀

Bem-vindo ao FastAPI Starter! Este CLI permite que você inicie seu projeto FastAPI escolhendo entre 8 estruturas distintas, cada uma ideal para diferentes cenários de desenvolvimento. Escolha a que melhor se adapta às suas necessidades e comece a desenvolver com rapidez e organização! 😎


📂 Estruturas Disponíveis

1️⃣ AWS Structure (create_aws_structure) ☁️

Projetado para aplicações que serão implantadas na AWS.
Inclui:

  • Diretórios para templates de CloudFormation e SAM
  • Exemplo de integração com boto3 para listar buckets do S3
  • Scripts para deploy e configurações para ambiente serverless

Ideal para: Aplicações nativas na nuvem, serverless, e integrações com AWS (Lambda, S3, DynamoDB, etc.).


2️⃣ Default Structure (create_default_structure) 🔹

A estrutura clássica para iniciar um projeto FastAPI com organização robusta.
Inclui:

  • Diretórios para Kubernetes, código fonte em src/, e testes
  • Exemplo de servidor FastAPI com rota simples
  • Dockerfile, compose.yaml, e arquivos de CI/CD

Ideal para: Projetos que exigem uma base completa e organizada desde o início.


3️⃣ Minimal Structure (create_minimal_structure) ⚡

Uma versão enxuta, contendo somente o essencial para rodar sua API.
Inclui:

  • Código fonte mínimo em src/ com um único arquivo de servidor
  • Testes básicos e dependências essenciais

Ideal para: Protótipos, provas de conceito e projetos simples onde menos é mais.


4️⃣ Advanced Structure (create_advanced_structure) 🚀

Uma estrutura modular e bem organizada, perfeita para aplicações de médio porte.
Inclui:

  • Diretórios para endpoints, configuração centralizada, modelos e schemas
  • Exemplo de rota avançada e Dockerfile configurado
  • Suporte para ambientes de desenvolvimento com CI/CD

Ideal para: APIs que crescem com o tempo e necessitam de uma organização mais refinada.


5️⃣ Enterprise Structure (create_enterprise_structure) 🏢

Voltada para grandes projetos corporativos que exigem escalabilidade, segurança e organização rigorosa.
Inclui:

  • Estrutura baseada em domínios com diretórios para serviços, repositórios e autenticação
  • Scripts e configurações para migrações de banco de dados e CI/CD robusto
  • Dockerfile, compose.yaml e integração com pipelines de deploy

Ideal para: Aplicações empresariais complexas que precisam de alta performance e manutenção contínua.


6️⃣ Microservice Structure (create_microservice_structure) 🏗️

Projetada para arquiteturas de microsserviços, onde cada serviço é independente e escalável.
Inclui:

  • Estrutura enxuta para cada microsserviço, com API Gateway e orquestração local via Docker Compose
  • Exemplo de integração com serviços isolados e rotas simples

Ideal para: Sistemas distribuídos, onde a modularidade e independência de serviços são essenciais.


7️⃣ Scalable Structure (create_scalable_structure) 📈

Preparada para projetos que precisam crescer rapidamente e suportar alto volume de tráfego.
Inclui:

  • Divisão clara em módulos, com workers para tarefas assíncronas e integração com cache (ex.: Redis)
  • Arquivos para implantação em Kubernetes e monitoramento de performance
  • Exemplo de rotas e estrutura preparada para escalabilidade

Ideal para: Projetos que demandam escalabilidade horizontal e vertical, com alta performance.


8️⃣ Modular Structure (create_modular_structure) 🔧

Uma arquitetura altamente modular, facilitando a reutilização de código e manutenção contínua.
Inclui:

  • Diretórios organizados por módulos independentes com endpoints e configurações globais
  • Exemplo de integração entre módulos e uma API principal que agrega as funcionalidades
  • Suporte para testes e containerização via Docker

Ideal para: Equipes que desejam manter um código organizado, reutilizável e de fácil manutenção.


🚀 Como Usar

  1. Instale o FastAPI Starter (modo editável):
    pip install -e .
    

📌 Criando um Novo Projeto:

 Utilize o CLI para criar um novo projeto, especificando o template desejado:

fastapi-starter init meu_projeto --template <template>

🚀 Como Usar

  1. Exemplos:
   aws
   default
   minimal
   advanced
   enterprise
   microservice
   scalable
   modular
  1. Execute o servidor:

bash uvicorn src.server:app --reload

  1. Acesse a API em http://127.0.0.1:8000

🏗️ Deploy

  • Docker: docker-compose up
  • AWS Lambda: Utilize os scripts em scripts/ e Terraform
  • Kubernetes: Aplique os manifestos em infra/k8s/

📢 Dúvidas? Abra uma issue no repositório! 🚀

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastapi_starter_template-0.1.1.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastapi_starter_template-0.1.1-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file fastapi_starter_template-0.1.1.tar.gz.

File metadata

  • Download URL: fastapi_starter_template-0.1.1.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Darwin/21.6.0

File hashes

Hashes for fastapi_starter_template-0.1.1.tar.gz
Algorithm Hash digest
SHA256 24fda5c760a0d05587942301470310ecda99b3e45daa4e53bb76bbf2986c015e
MD5 a9bb9b69787dfbb6131663c61eaed7aa
BLAKE2b-256 c07a8269da855880c55c935b05d4395733003e22b0432a058e23673575c95e07

See more details on using hashes here.

File details

Details for the file fastapi_starter_template-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_starter_template-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3d424408415a8578e3093e5971c4ab92c06766ff28042a542305ca515de1ee8e
MD5 27f3343e133a23ba62459bd26a22e969
BLAKE2b-256 c5e00605f3e56e3cf582424947ebbe810b149d65bc4e1efc716e6ec74010337b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page