CRUD com FastHTML e Python

Editor de Texto

No mundo do desenvolvimento web, a criação de aplicações CRUD (Create, Read, Update, Delete) é uma tarefa comum. Essas aplicações permitem que os usuários interajam com bancos de dados de forma simples e eficiente. Neste artigo, vamos explorar como criar um CRUD completo usando FastHTML e Python. O código apresentado é altamente eficiente, modular e fácil de manter, atendendo às melhores práticas de desenvolvimento.

O que é FastHTML?

Em primeiro lugar, FastHTML é uma biblioteca Python que facilita a criação de interfaces web dinâmicas, responsivas e a criação de sua biblioteca de componentes. Além disso, ele combina a simplicidade do HTML com a potência do Python, o que permite que desenvolvedores criem aplicações web de maneira rápida e eficiente. No nosso exemplo, usamos FastHTML para criar um CRUD que gerencia uma tabela de pessoas, incluindo funcionalidades como adicionar, editar, excluir e listar registros. Como resultado, neste projeto, temos o código 100% em Python, o que demonstra a versatilidade e a praticidade dessa biblioteca para o desenvolvimento web.

Estrutura do Projeto

O projeto é organizado em módulos, o que facilita a manutenção e a escalabilidade. Aqui está uma visão geral da estrutura:

  1. main.py: O ponto de entrada da aplicação, onde configuramos o FastHTML e registramos as rotas.
  2. constantes.py: Contém constantes como o número de registros por página e expressões regulares para validação.
  3. SGBD.py: Gerencia a conexão com o banco de dados.
  4. componentes.py: Define componentes reutilizáveis, como a função caixa_mensagem.
  5. classes.py: Define a classe Pessoa, que representa a entidade no banco de dados.

Funcionalidades do CRUD

  • Adicionar Registros

A função adiciona_pessoa permite que os usuários adicionem novos registros à tabela. Antes de inserir os dados, o sistema valida o campo nome para garantir que ele não esteja vazio, não contenha números ou caracteres especiais. Se a validação falhar, uma mensagem de erro é exibida.

  • Editar Registros

A função editar_pessoa permite que os usuários editem registros existentes. O sistema redireciona o usuário para o formulário de edição, onde ele pode alterar o nome da pessoa. Após a edição, o sistema valida os dados e, se tudo estiver correto, atualiza o registro no banco de dados.

  • Excluir Registros

A função excluir_pessoa permite que os usuários excluam registros da tabela. O sistema remove o registro do banco de dados e atualiza a listagem, mantendo a paginação correta.

  • Listar Registros com Paginação

A função listar_pessoas exibe os registros da tabela com paginação. Os usuários podem navegar entre as páginas usando os botões “Anterior”, “Próxima”, “Primeira” e “Última”.

  • Validação de Dados

A função validar_formulario é usada para garantir que os dados inseridos pelos usuários sejam válidos. Ela verifica se o campo nome não está vazio, não contém números ou caracteres especiais.

Eficiência e Boas Práticas

Primeiramente, o código foi desenvolvido seguindo as melhores práticas de desenvolvimento, como modularização, validação de dados e paginação. Dessa forma, isso garante que a aplicação seja não apenas eficiente, mas também fácil de manter e altamente escalável. Além disso, o uso do FastHTML permite uma integração perfeita entre o front-end e o back-end, o que, por sua vez, proporciona uma experiência de usuário fluida e intuitiva. Portanto, ao adotar essas práticas e ferramentas, o desenvolvimento se torna mais organizado e o resultado final, significativamente mais robusto.

Integrando varios formulários ao main.py

O código principal do projeto fica em main.py e cada formulário em um arquivo python separado, com suas rotas e sua validação especifica. Veja como integrar os formulários em main.py.

Conclusão

Em resumo, este guia mostrou como o FastHTML pode simplificar a criação de CRUDs em Python. Ao seguir os passos apresentados, você estará apto a desenvolver aplicações web eficientes e de alta qualidade. Portanto, não hesite em experimentar o FastHTML em seus projetos. Por fim, se você gostou deste conteúdo, compartilhe com outros desenvolvedores e deixe seu feedback nos comentários. Dessa forma, podemos continuar trazendo mais tutoriais como este!

Formulário

 formulario pessoa

 

Chamada para Ação

Se você gostou deste artigo e quer aprender mais sobre desenvolvimento web com Python,  siga-nos nas redes sociais e divulgue nosso site. Também deixe o comentário para identificarmos o próximo post.

Referências:

Kanban iterativo

JavaScript

Veremos hoje um Kanban iterativo, criando componentes javascript em tempo de execução no front-end.

Criando componentes em tempo de execução

O Kanban iterativo é uma metodologia ágil amplamente utilizada para gerenciar projetos de forma visual e eficiente. Com sua abordagem intuitiva, ele facilita a organização e acompanhamento de tarefas em diferentes etapas. Recentemente, construí um Kanban digital, o que trouxe uma nova perspectiva sobre como gerenciar atividades e melhorar a produtividade. Neste post, explorarei os principais recursos e a importância dessa ferramenta na minha jornada de desenvolvimento.

Primeiramente, o Kanban digital oferece uma interface prática e fácil de usar. A estrutura da ferramenta permite a criação de grupos (como “Em andamento”, “Concluído” e “A Fazer”) para organizar os itens de trabalho. Cada grupo pode ter múltiplos itens, que representam tarefas específicas. Além disso, o sistema oferece a funcionalidade de “drag-and-drop”, ou arrastar e soltar, permitindo que os itens sejam movidos entre os grupos com facilidade. Com isso, a visualização do progresso do projeto se torna clara e dinâmica.

Outro ponto importante é a possibilidade de personalizar o Kanban conforme as necessidades de cada usuário. Ao adicionar e editar grupos ou itens, é possível ajustar o quadro conforme a evolução do projeto. Para garantir que as informações não se percam, implementei um sistema de salvamento dos dados no cookie do navegador, o que possibilita carregar e recuperar o quadro sempre que necessário, mantendo o histórico de alterações.

Menu flutuante nos objetos

Além disso, a integração de menus contextuais para cada grupo e item proporciona um nível extra de interação. O usuário pode, por exemplo, excluir ou editar itens diretamente no menu de contexto, sem precisar abrir outras interfaces ou se distrair com processos complicados. Dessa forma, as ações tornam-se mais diretas e práticas.

Em termos de usabilidade, o Kanban digital é acessível a qualquer pessoa que precise de uma forma visual e ágil de gerenciar tarefas. A integração de criptografia para salvar os dados no navegador é outra medida que proporciona segurança e confiabilidade ao sistema.

Por fim, a possibilidade de personalizar e salvar os dados em cookies oferece flexibilidade e autonomia ao usuário. Assim, além de ser uma ferramenta eficaz para gerenciamento de tarefas, ela também se torna uma aliada indispensável para quem busca produtividade e organização. Concluindo, o Kanban digital não é apenas uma plataforma de gerenciamento, mas um reflexo da constante busca por aprimoramento nas metodologias ágeis.

Vejamos um exemplo de KanBan que podemos fazer de forma dinâmica abaixo.

JAVASCRIPT:

CSS:

HTML:

Referências: