WeMind App é um aplicativo de meditação que tem por finalidade auxiliar as pessoas que buscam uma ferramenta para o aprendizado e o exercício das técnicas baseadas em mindfulness.

Em minha experiência, a melhor tradução de mindfulness é um estado de atenção plena, no momento presente, no qual passado e futuro deixam de existir e, consequentemente, ansiedade, depressão e falta de concentração não se apresentam.

Sou adepto dessa técnica, que aprendi com outro nome, há quase 15 anos. Com certeza, tem me ajudado muito a ter uma vida mais alegre e harmoniosa.

 

A Tecnologia

 

No primeiro semestre de 2018, a Discover foi contratada para reconstruir o aplicativo, objetivando uma experiência mais agradável ao usuário.

Para atingirmos esse objetivo, adotamos tecnologias mais modernas baseadas em Cloud Computing e práticas ágeis de desenvolvimento de software, que propiciam uma visão do ‘produto’ software com entregas mais frequentes em produção, bem como uma maior qualidade.

 

Mobile Frontend & Backend API

 

O desenvolvimento do produto foi baseado em duas frentes diferentes: backend APIs e frontend mobile.

Essa prática permite maior agilidade nas entregas e aproveitamento dos skills em TI, uma vez que há um time desenvolvendo as APIs, que fornecem as funcionalidades de negócio, e outro focado no aplicativo mobile para as principais plataformas (iOS & Android).

 

Na camada de backend, adotamos funções Lambda, que permitem grande escalabilidade, menor custo por requisição e ‘granularidade’ adequada para cada cenário.

Também, a escolha do banco de dados segue esses mesmos princípios: escalabilidade, modelo custo vs benefício e alta disponibilidade.

Por se tratar de tráfego via Internet, adotamos o API Gateway da AWS, que se integra de maneira simples com os outros produtos, além de fornecer funções de segurança, rastreabilidade, documentação e automatização das APIs (através do Swagger) e controle de consumo.

Já na camada de frontend/mobile, escolhemos pela adoção de uma ferramenta de CDN, que possibilitou superar o desafio de controlar o acesso ao conteúdo de mídia (audio/video), através de URLs assinadas, além da maior disponibilidade e velocidade na distribuição do conteúdo entre as várias regiões.

Todo o controle de acesso é feito utilizando o Cognito, o que possibilitou integração com redes sociais e um ponto único de gerenciamento de usuários com alta disponibilidade.

 

Infrastructure as Code

 

Por se tratar de uma infraestrutura razoavelmente complexa, desde o início, foi adotado uma ferramenta que ajudasse na gestão e construção desses artefatos, permitindo maior transparência, construção de ambientes novos e possibilidade de recuperação de falhas/desastres.

A ferramenta adotada foi o Ansible, e tem se mostrado muito simples e eficiente nesse propósito.

 

Continuous Delivery/Integration

 

Não é possível falar em desenvolvimento ágil de software, sem as práticas e elementos de uma cultura DevOps, nesse sentido, a ideia de entrega e integração contínua permeiam todos os ciclos de desenvolvimento.

A qualidade do software é outro elemento de destaque quando se é praticado técnicas de desenvolvimento de software fundamentados em testes, sejam eles integrados, unitários, de conectividade, etc.

E em termos de ferramentas de suporte dentro desse tema, vale destacar o uso do Jenkins em conjunto com o Bitbucket e Slack, que garantiu visibilidade ao time de todos os buildsentregues nos mais diversos pipelines criados para o produto.

 

Conclusão

 

Com a adoção de técnicas de desenvolvimento mais modernas, que privilegiam software de qualidade entregue com infraestrutura em nuvem, tivemos como resultado um produto que atende as expectativas dos mais exigentes arquitetos de software, sem deixar de entregar um aplicativo com uma experiência mais agradável e fluida para o usuário final.

Para surpresa do leitor, ainda não foi publicada essa nova versão nas lojas das principais plataformas (Apple & Google). Mas em breve será feito o lançamento!

 

Estará disponível através dos seguintes links:

Google Play!

Apple Store

Mais sobre Mindfulness!