Fiz e lancei um app sobre eventos em 3 dias usando flutter.
Olá, pessoal, vim trazer um pouco de informações sobre o último app que acabei de lançar. Como sempre, vou fazer um post mais técnico para quem se interessar e poder analisar um pouco.
O app é sobre eventos. Moro em uma cidade que é totalmente voltada para o turismo, portanto há muitos turistas e eventos. Eu sempre senti uma falta de alguma coisa que reunisse esses eventos e informações sobre esses eventos, como programação, lugares pra ir etc. E Assim surgiu o iEventos Garanhuns, um app Hub de Eventos voltado à informações dos eventos. Você pode ver as datas dos festivais, artistas, shows, lugares pra ir, calendário etc.
Agora na parte técnica, o que eu usei/fiz?
[FRONTEND]
Usei o Provider como gerenciador de estados (esse é meu 8 APP lançado sozinho que usa o Provider). Usei a lib upgrader para gerenciamento de versões com a google play, GetIt para Injeção de dependencias e singletons. Bot Toast para notifications in app, Firebase (Functions para notifications, analytics).
[BACKEND]
A Api é feita em NodeJS com Fastify, usando Prisma como ORM e PostgreSQL como banco de dados. Server bem básico hospedado no heroku e no ElephantSQL (custo: 25 reais mensal tudo). O server é básico e tem configurações/setups básicos (porém funcionais) de segurança e cache.
[CACHE]
Uma coisa que é um pouco diferente nesse app é que eu desenvolvi um pequeno sistema de cache usando SharedPreferences com serialization/deserialization para diminuir as chamadas ao banco de dados (que já é bem light) e para fazer com que o App seja acessível SEM internet também. Nesse caso, o app só faz uma chamada, checando a versão de forma unilateral, com uma simples comparação de "appVersion" x "serverVersion", dá pra saber quando ou não baixar novamente os dados dos eventos do server, o que reduz DRASTICAMENTE suas chamadas. Como os dados dos eventos geram uma pequena quantidade de dados (um json de 60kbs no max), é tranquilo armazenar isso como String usando o SharedPreferences e depois recuperar. Essa mudança já aumentou bastante a capacidade de aguentar um pouco mais e dar uma aliviada no banco de dados.
[PRODUÇÃO]
Levei 3 dias pra fazer o App, postá-lo etc. Usei um pouco de IA pra gerar algumas descrições e é isso. Quem quiser testar, estou deixando o link: https://play.google.com/store/apps/details?id=com.arbashstudio.ieventosgaranhuns