Escrito por Bruno Franco | Publicado em 13 de maio de 2024 às 22:43
Criar e manter bons hábitos pode ser um desafio, mas e se houvesse uma ferramenta que tornasse esse processo mais envolvente e motivador? Foi com esse objetivo que desenvolvemos o Habituaí, um sistema web inovador que combina planejamento de hábitos com gamificação, ajudando os usuários a melhorar sua qualidade de vida.
O Habituaí é uma plataforma gratuita que permite aos usuários planejar, monitorar e evoluir seus hábitos—sejam eles bons ou ruins. Através de um sistema de pontuação e recompensas, a gamificação motiva o usuário a se engajar na construção de uma rotina saudável.
Os usuários podem:
Criar hábitos e acompanhar sua evolução
Marcar hábitos como concluídos e ganhar pontos de experiência
Evitar hábitos ruins e acompanhar sua redução
Gerar relatórios para visualizar o progresso
Desbloquear conquistas e aumentar a motivação
Segundo Charles Duhigg, autor de O Poder do Hábito, os hábitos são formados por um ciclo de gatilho, rotina e recompensa. O Habituaí aproveita esse conceito ao transformar o progresso em uma experiência recompensadora, mantendo os usuários engajados por meio de desafios e conquistas.
A combinação de pontos de experiência (XP), níveis de progressão e recompensas visuais torna a plataforma mais envolvente, incentivando os usuários a manterem uma rotina saudável de forma consistente.
O Habituaí representa um exemplo prático da aplicação de engenharia de software para resolver problemas do dia a dia, utilizando boas práticas de desenvolvimento, segurança e experiência do usuário.
Para garantir um sistema escalável e seguro, adotamos uma abordagem baseada em arquitetura orientada a objetos e utilizamos tecnologias modernas do mercado:
Linguagem: Java
Framework: Spring Boot
Gerenciamento de dependências: Maven
Autenticação e segurança: Spring Security
Padrão de comunicação: API RESTful usando JSON
O Spring Boot foi escolhido por sua robustez e facilidade na criação de APIs escaláveis, enquanto o Spring Security garante proteção contra vulnerabilidades como ataques de injeção de SQL e Cross-Site Scripting (XSS).
Linguagem: TypeScript
Biblioteca: React
Gerenciamento de estado: Context API
Estilização: CSS Modules
A escolha do React permite um desenvolvimento modular e reativo, garantindo que as atualizações de interface ocorram de forma eficiente. O uso do TypeScript traz mais segurança ao código, reduzindo erros durante o desenvolvimento.
Sistema Gerenciador de Banco de Dados (SGBD): MySQL
Modelo: Relacional
Principais tabelas:
usuario
(armazenamento de credenciais e dados pessoais)
habito
(cadastro de hábitos e classificação)
progresso
(registro de hábitos concluídos)
conquista
(sistema de gamificação baseado em XP e recompensas)
O MySQL foi escolhido por sua confiabilidade, escalabilidade e grande aceitação no mercado. Além disso, adotamos a criptografia de senhas para garantir a proteção dos dados dos usuários.
O Habituaí utiliza um modelo cliente-servidor, onde o frontend se comunica com o backend via requisições HTTP (RESTful API). O fluxo básico de interação segue os seguintes passos:
O usuário acessa a interface web e realiza o login.
O frontend envia a requisição de autenticação para a API no backend.
Após validação, um token de autenticação (JWT) é gerado e enviado ao frontend.
Com o token, o frontend pode acessar recursos protegidos, como a criação e acompanhamento de hábitos.
Todas as interações do usuário são registradas no banco de dados.