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¶
- Fragmentação de Informações: Usuários precisam usar múltiplas plataformas para diferentes aspectos do fitness
- Falta de Personalização: Soluções genéricas que não atendem necessidades específicas
- Complexidade de Uso: Interfaces complicadas que desencorajam a prática regular
- 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¶
- Análise de Requisitos: Documentação detalhada de necessidades
- Modelagem de Dados: Definição de entidades e relacionamentos
- Implementação Iterativa: Desenvolvimento incremental por funcionalidade
- Testes Contínuos: Validação constante de funcionalidades
- 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