Olá, pessoal! Neste artigo, quero compartilhar com vocês o Projeto FlixApp, uma aplicação frontend desenvolvida 100% com Python utilizando a biblioteca Streamlit.

Este projeto também faz parte do curso Django Master.

🔗 Repositório no GitHub

🔗 Acesse o FlixApp

Login: flixapp

Senha: MUFHHhfA244ytK7


O que é o Streamlit?

O Streamlit é uma ferramenta amplamente utilizada para o desenvolvimento de Data Apps, ou seja, aplicações voltadas para análise de dados e dashboards. Sua grande vantagem é a simplicidade: não é necessário conhecimento prévio em frontend, pois permite a criação de aplicações interativas usando apenas Python.

No FlixApp, aplicamos conceitos avançados, porém essenciais para a carreira de um programador.


Arquitetura do Projeto

O projeto foi desenvolvido utilizando a arquitetura DDD (Domain-Driven Design). Embora o Streamlit não exija um padrão específico, implementamos essa arquitetura para garantir um código mais organizado e de fácil manutenção.

Além do DDD, utilizamos dois outros padrões fundamentais:

  • Service Pattern: Define onde ficará a regra de negócio da aplicação.
  • Repository Pattern: Protege e gerencia os dados, garantindo que apenas essa camada possa manipulá-los, o que melhora significativamente a manutenibilidade do código.

Integração com a FlixAPI

O FlixApp se integra com a FlixAPI, consumindo seus dados por meio de chamadas REST API. Para isso, foram desenvolvidas classes específicas de integração para cada endpoint, tornando o consumo de dados mais estruturado e eficiente.


Recursos Visuais e Dashboard

Outro destaque do projeto é a visualização de dados. O Streamlit oferece diversos recursos para a criação de gráficos interativos, e no FlixApp utilizamos essa funcionalidade para construir o Dashboard da página inicial, exibindo estatísticas dos filmes.


Conclusão

O FlixApp demonstra como é possível criar um frontend completo e interativo utilizando apenas Python e Streamlit. Além disso, reforça a importância de boas práticas arquiteturais, como DDD, Service e Repository Patterns, garantindo escalabilidade e facilidade de manutenção.

Ficou com dúvidas ou quer saber mais? Deixe um comentário! 🚀