Este projeto foi um divisor de águas na minha jornada de aprendizado com Python. A Tela de Cadastro e Login Multi-UI é um sistema simples de autenticação com banco de dados que oferece a possibilidade de ser executado com três interfaces gráficas diferentes: Tkinter, PySide6 e Kivy. A seleção da UI é feita diretamente pela linha de comando, o que me permitiu estudar de forma prática como diferentes frameworks gráficos se comportam para a mesma aplicação lógica.
Exploração de Tecnologias
O backend foi desenvolvido com SQLite, um banco leve e eficiente para projetos locais. Toda a lógica de cadastro e login foi implementada com base no padrão MVC, algo que eu estava começando a estudar com mais profundidade na época. Pela primeira vez, comecei a refletir sobre a separação de responsabilidades dentro de um sistema, o que me ajudou bastante em projetos posteriores.
Outro aspecto marcante foi o uso de bcrypt para proteger as senhas dos usuários. Aprendi sobre hash e salt, e como implementá-los para dificultar o vazamento de dados sensíveis. Essa foi uma das primeiras vezes que me aproximei de conceitos de segurança da informação no desenvolvimento.
ChatGPT como Aliado
Este projeto também foi meu primeiro contato prático com o ChatGPT como ferramenta técnica. Durante o desenvolvimento, enfrentei diversos desafios — desde dúvidas sobre estruturação de arquivos até detalhes de lógica para hashing. Foi nesse momento que percebi o poder das ferramentas de IA no suporte ao desenvolvimento e aprendizagem.
Por que Multi-UI?
Uma das minhas motivações foi justamente entender as diferenças entre os frameworks. Com esse sistema, eu consegui observar como componentes equivalentes (como campos de entrada, botões, mensagens de erro) são implementados em diferentes bibliotecas.
- Tkinter: Rápido para prototipagem, leve e nativo do Python.
- PySide6: Interface moderna com visual mais profissional.
- Kivy: Multiplataforma, com foco em touch e dispositivos móveis.
Reflexão Final
Mesmo sendo um projeto simples à primeira vista, esse CRUD me ensinou muito sobre estruturas robustas, boas práticas, modularização e segurança. É um projeto que guardo com muito carinho, pois representa o momento em que comecei a conectar os pontos entre front-end e back-end, e enxergar o desenvolvimento de forma mais completa e profissional.