O GritTracker é o primeiro produto mobile do portfólio da nossa empresa. Ele foi desenvolvido não apenas como uma ferramenta utilitária, mas como um sistema focado em alta performance pessoal e disciplina. A aplicação funciona como uma “forja” de hábitos e gestão de tarefas inegociáveis.
• Qual problema o aplicativo resolve? Resolve a procrastinação, a falta de consistência em rotinas árduas e a ausência de rastreabilidade na execução de tarefas diárias críticas. Muitas pessoas falham em seus objetivos por não terem um sistema de registro rápido, visual e livre de distrações para cobrar a si mesmas.
• Quem seria o público-alvo? Estudantes de tecnologia, desenvolvedores, atletas amadores e qualquer indivíduo focado em autodesenvolvimento e produtividade extrema que necessite de uma ferramenta direta, sem elementos supérfluos, para rastrear suas vitórias diárias.
• Quais funcionalidades principais o aplicativo oferece? Veja a seção completa de Funcionalidades v2.0 abaixo.
• Por que essa solução poderia ser útil para alguém? Porque ela remove a complexidade das ferramentas tradicionais de gestão. Ao oferecer uma interface brutalista e focada, aliada a um design responsivo e rápido, o usuário não perde tempo configurando o app; ele abre, registra a missão, executa e marca como concluída, gerando dopamina e mantendo a constância.
BottomNavigationBar como aba dedicada🔥 5 DiasSharedPreferences (sobrevive entre sessões)TaskCategory: Treino 💪, Estudo 📚, Trabalho 💼, Outro ⚡category (migração v2)H75 no AppBar (ativa/desativa)| Tecnologia | Função |
|---|---|
| Flutter 3.x | Framework multiplataforma (Android, Web, Desktop) |
| Dart 3.x | Linguagem de programação |
| Provider | Gerenciamento de estado reativo |
| sqflite | Banco de dados relacional local (Android) |
| fl_chart | Gráficos interativos (Pie, Bar) |
| shared_preferences | Persistência de configurações (Streaks) |
| Google Fonts | Tipografia premium (Inter) |
| intl | Formatação de datas |
| path_provider | Acesso ao filesystem do dispositivo |
Foi adotada a arquitetura MVVM (Model-View-ViewModel) em conjunto com o padrão Repository, visando separação rigorosa de responsabilidades:
lib/
├── main.dart # Entry point
├── models/
│ └── task_model.dart # TaskModel + TaskCategory enum
├── services/
│ ├── database_service.dart # SQLite driver (v2 c/ migration)
│ └── streak_service.dart # SharedPreferences streak tracking
├── repositories/
│ └── task_repository.dart # ITaskRepository + Factory + InMemory
├── viewmodels/
│ └── task_viewmodel.dart # Regras de negócio + estado reativo
├── views/
│ ├── splash_screen.dart # Splash animada
│ ├── home_screen.dart # Tela principal + BottomNav + Hard75
│ ├── dashboard_screen.dart # Dashboard com fl_chart
│ └── calendar_screen.dart # Visão por data com table_calendar
├── widgets/
│ ├── task_card.dart # Card de tarefa c/ categoria + Pomodoro
│ └── pomodoro_modal.dart # Timer 25min Deep Work
└── utils/
└── app_theme.dart # Design System completo
TaskModel, TaskCategory).TaskViewModel).# 1. Clone o repositório
git clone https://github.com/WellingtonPereiraLuiz/taskflutter.git
# 2. Entre na pasta
cd taskflutter
# 3. Instale dependências
flutter pub get
# 4. Execute no emulador, navegador ou dispositivo
flutter run
# 5. Build APK de produção
flutter build apk --release
# 6. Build Web
flutter build web --base-href "/taskflutter/"
A Inteligência Artificial foi utilizada como um Engenheiro Pair-Programmer de alta performance. O fluxo consistiu em:
As decisões arquiteturais centrais (escolha do MVVM, divisão de repositórios e design de UI) foram direcionadas e auditadas pelo autor humano, garantindo total compreensão e autoria sobre a solução técnica final.
Wellington Pereira Luiz Estudante de Análise e Desenvolvimento de Sistemas — IFRO Atividade: Meu Primeiro Aplicativo na Loja de Apps (Prof. Andrey Alencar Quadros)