Skip to content

Repository files navigation

AtlasFit

Um aplicativo Flutter para construção e registro de treinos de musculação, com persistência de dados local via SQLite.

Sobre o Projeto

AtlasFit é uma ferramenta de treino projetada para oferecer controle total sobre a criação e o acompanhamento de rotinas de musculação. A arquitetura do projeto foi focada em uma camada de dados robusta, utilizando sqflite para garantir a integridade e a persistência de todas as informações localmente no dispositivo. A UI é construída para ser funcional e reativa, permitindo a manipulação detalhada de planos de treino complexos.

Funcionalidades Implementadas

  • Construtor de Treinos: Permite a criação de múltiplos planos de treino, cada um contendo divisões customizáveis (ex: "Peito e Tríceps", "Pernas").
  • Biblioteca de Exercícios: Módulo CRUD (Criar, Ler, Atualizar, Deletar) para uma biblioteca central de exercícios que alimenta o construtor de treinos.
  • Modo de Execução: Uma interface dedicada para registrar sessões de treino, capturando dados por série: carga, repetições, notas e RPE (Avaliação de Esforço Subjetivo).
  • Timer de Descanso: Um cronômetro integrado é acionado após a conclusão de uma série para controlar os intervalos de descanso.
  • Persistência de Última Performance: O sistema salva automaticamente a carga e as repetições da última execução de um exercício, exibindo-as na sessão seguinte para facilitar a aplicação da sobrecarga progressiva.
  • Reordenação Drag-and-Drop: Os exercícios dentro de uma divisão podem ser facilmente reordenados através de uma interface de arrastar e soltar.
  • Resumo Pós-Treino: Ao finalizar uma sessão, o app exibe métricas como tempo total, volume de peso total levantado e um gráfico de frequência semanal de treinos.

Telas do Aplicativo

Lista de Treinos Construtor de Treinos
Tela principal com a lista de treinos do usuário Tela de criação e edição de treinos
Execução do Treino Timer de Descanso
Tela de execução de um treino, com campos para carga e repetições Timer de descanso entre as séries
Editar Exercício no Treino Feedback Pós-Treino
Editar exercício Tela de resumo após o treino, com estatísticas e gráfico de frequência semanal
Biblioteca de Exercícios
Biblioteca de exercícios

Estrutura e Tecnologias

  • Linguagem: Dart
  • Framework: Flutter
  • Banco de Dados: sqflite para persistência local, com gerenciamento de migrações e transações.
  • Gerenciamento de Estado: StatefulWidget (setState) para controle de estado local e escopado.
  • Utilitários:
    • logger: Para um sistema de logs estruturado.
    • shared_preferences: Para salvar pequenas preferências do usuário (ex: último treino fixado).
    • fl_chart: Para o gráfico de frequência na tela de feedback.
    • path & uuid: Utilitários para manipulação de caminhos e geração de IDs únicos.
  • Arquitetura: O projeto segue uma estrutura clara com separação de responsabilidades:
    • screens: Widgets de tela inteira.
    • widgets: Componentes de UI reutilizáveis.
    • models: Camada de dados que define a estrutura dos objetos de negócio.
    • helpers: Classes utilitárias, incluindo o DatabaseHelper (Camada de Acesso a Dados).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages