Skip to main content

FalconArch is a lightweight and modular library that provides a base structure for developing applications with Flask.

Project description

FalconArch Framework

Do you speak English? Read the README in English here

FalconArch é uma biblioteca leve e modular que fornece uma estrutura base para o desenvolvimento de aplicações com Flask. Ela simplifica a criação de rotas, o gerenciamento de blueprints e o carregamento dinâmico de controladores, além de suportar múltiplos métodos HTTP e fornecer logs detalhados para facilitar o debugging.

🚀 Recursos

  • Estrutura baseada no padrão MVC: Organize sua aplicação de forma modular com os padrões Model-View-Controller.
  • Registro simplificado de blueprints: Registre controladores e rotas facilmente com uma interface simples.
  • Carregamento dinâmico de controladores: Carregue controladores automaticamente, sem a necessidade de configurações complicadas.
  • Suporte para múltiplos métodos HTTP: Defina rotas para diferentes métodos HTTP (GET, POST, PUT, DELETE, etc.).
  • Logs detalhados com emojis: O framework oferece logs com emojis para tornar o processo de debugging mais fácil e intuitivo.

📂 Estrutura do Projeto

.
├── app
│   ├── models
│   │   └── ...
│   ├── views
│   │   └── ...
│   ├── http
│   │   ├── middlewares
│   │   │   └── ...
│   │   ├── requests
│   │   │   └── ...
│   │   └── controllers
│   │       └── ...
│   └── services
│       └── ...
├── public
│   └── ...
└── routes
    └── ...

🛠 Instalação

pip install falcon-arch

🎨 Como Declarar Rotas

Definindo Rotas em Arquivos:

  • Exemplo de rota para página web:

    from falcon_arch import Router
    
    web = Router()
    
    web.get("/home", "HomeController@index")
    web.post("/submit", "FormController@submit")
    
  • Exemplo de rota para API:

    from falcon_arch import Router
    
    users = Router(prefix="/api/users")
    
    users.get("/", "UserController@index")
    users.get("/<int:id>", "UserController@show")
    users.post("/", "UserController@store")
    

Registrando Rotas no Servidor:

from falcon_arch import FalconArch

app = FalconArch(__name__, template_folder="app/views", static_folder="public")

if __name__ == "__main__":
    app.run(app, host="0.0.0.0", port=80, threads=10, _quiet=True)

📜 Renderizando Views

Para renderizar uma view usando Jinja, utilize o método Response.render:

from falcon_arch import Response

def index(request, response: Response):
    return response.render("home.html", {"title": "Página Inicial"})

O diretório padrão para views é /app/views, e os arquivos estáticos estão localizados em /public.


📜 Licença

Este projeto é licenciado sob a MIT License - veja o arquivo LICENSE para mais detalhes.


🔧 Logs e Debugging

FalconArch oferece logs detalhados e interativos com emojis, facilitando o acompanhamento do que está acontecendo na aplicação. Isso ajuda a depurar erros de forma mais eficiente e amigável.

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

falcon-arch-0.0.7.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

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

falcon_arch-0.0.7-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file falcon-arch-0.0.7.tar.gz.

File metadata

  • Download URL: falcon-arch-0.0.7.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.6

File hashes

Hashes for falcon-arch-0.0.7.tar.gz
Algorithm Hash digest
SHA256 9a55b69647832165afbd212bac43d888894e75c2a48a419eeacce6d60eeec7f8
MD5 6d6649c7faabe8a9493ce6be0a5b0533
BLAKE2b-256 abe8e93b0527a116ac1bc97a3ee2ff0f9a7fb054a6037cb4d09a2ea378b27c4e

See more details on using hashes here.

File details

Details for the file falcon_arch-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: falcon_arch-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 14.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.6

File hashes

Hashes for falcon_arch-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ec015d2287710754ca4a6a8f1b05002141395a9b7f7dd6f6df76b486d401378a
MD5 d0302dbf738a6e3086678ae3e0c7bcdc
BLAKE2b-256 09a9429be50a2d10140c2f0e8ef79e3cf99f9a71be3119d1317f47d854d9a9e7

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