Ir para o conteúdo

Análise 5W2H - Projeto FitLife

What (O Quê?)

Descrição do Produto

O FitLife é uma plataforma digital abrangente de treinos e bem-estar que oferece uma experiência personalizada para usuários interessados em melhorar sua condição física e qualidade de vida. A plataforma consiste em uma API REST robusta desenvolvida com Django e Django REST Framework, que serve como backend para aplicações web e mobile.

Funcionalidades Principais

  • Gestão de Usuários: Sistema completo de cadastro, autenticação e gerenciamento de perfis personalizados
  • Catálogo de Exercícios: Base de dados abrangente com exercícios categorizados por grupo muscular, equipamento e nível de dificuldade
  • Criação de Treinos: Ferramenta para montagem de treinos personalizados com sequenciamento de exercícios
  • Playlists de Treinos: Organização de treinos em coleções temáticas para diferentes objetivos
  • Sistema de Acompanhamento: Recursos para monitoramento de progresso e evolução dos usuários

Diferencial Competitivo

O FitLife se diferencia por sua abordagem modular e flexível, permitindo que usuários criem experiências totalmente personalizadas de acordo com seus objetivos específicos, seja perda de peso, ganho de massa muscular, melhoria de condicionamento físico ou reabilitação.

Why (Por Quê?)

Justificativa do Projeto

O mercado de fitness e bem-estar tem crescido exponencialmente, especialmente após a pandemia de COVID-19, que acelerou a digitalização de serviços de saúde e fitness. Dados da indústria mostram que o mercado global de fitness digital deve atingir $59.23 bilhões até 2027, crescendo a uma taxa anual de 33.1%.

Problemas Identificados

  1. Fragmentação de Informações: Usuários precisam usar múltiplas plataformas para diferentes aspectos do fitness
  2. Falta de Personalização: Soluções genéricas que não atendem necessidades específicas
  3. Complexidade de Uso: Interfaces complicadas que desencorajam a prática regular
  4. Ausência de Progressão: Falta de sistemas adequados para acompanhar evolução

Oportunidades de Mercado

  • Crescimento do mercado de fitness digital
  • Aumento da consciência sobre saúde e bem-estar
  • Demanda por soluções personalizadas
  • Necessidade de integração entre diferentes aspectos do fitness

When (Quando?)

Cronograma de Desenvolvimento

  • Fase de Concepção: 30 minutos (definição de requisitos)
  • Fase de Elaboração: 50 minutos (modelagem e arquitetura)
  • Fase de Construção: 100 minutos (implementação da API)
  • Fase de Transição: 10 minutos (testes e entrega)

Marco de Entrega

O projeto deve ser concluído em exatamente 3 horas e 40 minutos, seguindo rigorosamente a metodologia RUP/UP para demonstrar competência em gestão de projetos de software.

Contexto Acadêmico

Este projeto é desenvolvido como Avaliação Substitutiva (AS) da disciplina de Projeto Back-End, demonstrando aplicação prática dos conceitos de desenvolvimento de APIs REST com Django.

Where (Onde?)

Ambiente de Desenvolvimento

  • Desenvolvimento Local: Ambiente de desenvolvimento individual em máquina local
  • Repositório: GitHub para versionamento e colaboração
  • Documentação: GitHub Pages para hospedagem da documentação MkDocs
  • Gestão: GitHub Projects para acompanhamento de tarefas

Contexto de Uso

  • Usuários Finais: Pessoas interessadas em fitness e bem-estar
  • Desenvolvedores: Equipes que utilizarão a API para criar aplicações frontend
  • Administradores: Gestores de conteúdo que manterão o catálogo de exercícios

Plataformas Alvo

A API será desenvolvida para ser consumida por: - Aplicações web responsivas - Aplicativos mobile (iOS e Android) - Sistemas de terceiros via integração API

Who (Quem?)

Stakeholders Principais

Usuários Primários

  • Iniciantes em Fitness: Pessoas começando jornada de exercícios
  • Praticantes Intermediários: Usuários com experiência buscando variedade
  • Atletas Avançados: Profissionais necessitando de treinos específicos
  • Personal Trainers: Profissionais criando treinos para clientes

Usuários Secundários

  • Desenvolvedores Frontend: Equipes consumindo a API
  • Administradores de Sistema: Responsáveis pela manutenção
  • Gestores de Conteúdo: Curadores do catálogo de exercícios

Stakeholders Técnicos

  • Arquitetos de Software: Definindo padrões e estruturas
  • Desenvolvedores Backend: Implementando funcionalidades
  • Testadores: Garantindo qualidade do sistema
  • DevOps: Responsáveis por deploy e infraestrutura

Equipe de Desenvolvimento

Para este projeto acadêmico, o desenvolvimento é individual, mas simula um ambiente profissional onde diferentes papéis seriam necessários.

How (Como?)

Metodologia de Desenvolvimento

RUP/UP (Rational Unified Process) - Metodologia iterativa e incremental que organiza o desenvolvimento em fases bem definidas: 1. Concepção: Definição de visão e requisitos 2. Elaboração: Arquitetura e planejamento detalhado 3. Construção: Implementação iterativa 4. Transição: Testes e entrega

Tecnologias Utilizadas

Backend

  • Django 4.x: Framework web robusto e maduro
  • Django REST Framework: Toolkit poderoso para APIs REST
  • SQLite: Banco de dados para desenvolvimento
  • Python 3.8+: Linguagem de programação principal

Documentação e Gestão

  • MkDocs: Geração de documentação estática
  • GitHub: Versionamento e colaboração
  • GitHub Projects: Gestão de tarefas e sprints
  • Swagger/OpenAPI: Documentação automática da API

Qualidade e Testes

  • Django Admin: Interface administrativa
  • drf-spectacular: Geração automática de documentação
  • django-cors-headers: Configuração de CORS
  • django-filter: Filtros avançados para API

Arquitetura Técnica

  • Padrão MVC: Separação clara de responsabilidades
  • API REST: Interface padronizada e escalável
  • Autenticação JWT: Segurança moderna para APIs
  • Serialização JSON: Formato padrão para troca de dados

Processo de Desenvolvimento

  1. Análise de Requisitos: Documentação detalhada de necessidades
  2. Modelagem de Dados: Definição de entidades e relacionamentos
  3. Implementação Iterativa: Desenvolvimento incremental por funcionalidade
  4. Testes Contínuos: Validação constante de funcionalidades
  5. Documentação Paralela: Atualização contínua da documentação

How Much (Quanto?)

Investimento de Tempo

  • Total: 3 horas e 40 minutos
  • Distribuição por Fase:
  • Configuração: 30 minutos (13.6%)
  • Concepção: 30 minutos (13.6%)
  • Elaboração: 50 minutos (22.7%)
  • Construção: 100 minutos (45.5%)
  • Transição: 10 minutos (4.5%)

Recursos Necessários

  • Humanos: 1 desenvolvedor full-stack
  • Tecnológicos: Computador com Python, Git, editor de código
  • Infraestrutura: Conta GitHub, acesso à internet

Complexidade Estimada

  • Linhas de Código: ~1000-1500 linhas
  • Modelos de Dados: 4-6 entidades principais
  • Endpoints API: 15-20 endpoints
  • Páginas de Documentação: 10-15 páginas

ROI Educacional

Este projeto demonstra competências valiosas em: - Desenvolvimento de APIs REST profissionais - Aplicação de metodologias ágeis - Gestão de projetos de software - Documentação técnica de qualidade - Uso de ferramentas modernas de desenvolvimento

Métricas de Sucesso

  • Funcionalidade: 100% dos requisitos implementados
  • Qualidade: Código limpo e bem documentado
  • Tempo: Entrega dentro do prazo estipulado
  • Documentação: Site MkDocs completo e publicado
  • Gestão: GitHub Projects utilizado adequadamente