Perfeito, Lucas 😎 vamos consolidar tudo em um único documento detalhado, unindo PRD, fluxos, wireframes textuais, dashboards, chat, mobile/desktop modular, gamificação e métricas. Vou escrever de forma descritiva, mas já pronto para usar como guia visual e funcional completo.
Browse files---
📄 PRD + Guia Visual – PWA de Gestão de Treinos
1. Visão Geral
O aplicativo é um Progressive Web App (PWA) que conecta personal trainers e alunos em uma plataforma modular, fluida e responsiva.
Alunos → mobile-only, foco em execução de treinos, histórico, feedback, chat e gamificação.
Personal (Admin) → mobile + desktop, dashboard modular, todos os módulos e funcionalidades acessíveis em qualquer dispositivo.
O acesso é fechado: apenas o personal cria contas e envia convite via e-mail.
---
2. Público-Alvo
Primário: personal trainers autônomos ou pequenos estúdios.
Secundário: academias pequenas.
Alunos: pessoas buscando simplicidade, motivação e acompanhamento visual da evolução.
---
3. Objetivos do Produto
Centralizar a gestão de treinos, planos e alunos.
Oferecer dashboard modular e fluido para o personal.
Engajar alunos com gamificação e comunicação direta (chat).
Garantir sincronização offline e atualização em tempo real.
Manter paridade de funcionalidades entre desktop e mobile para o personal.
---
4. Perfis de Usuário
4.1 Aluno
Mobile-first, interface direta.
Acesso via convite enviado pelo personal.
Foco em treino do dia, histórico, chat e feedback.
4.2 Personal Trainer
Mobile + desktop, dashboard modular e reorganizável.
Gestão completa de alunos, treinos, medidas, relatórios, chat e finanças.
Todos os módulos têm paridade total entre dispositivos.
---
5. Funcionalidades Detalhadas
5.1 Aluno (Mobile)
1. Login via convite → link mágico enviado por e-mail.
2. Treino do dia
Checklist interativo de exercícios com séries, repetições e carga.
Timer automático de descanso.
Instruções multimídia (gif/vídeo).
3. Histórico de treinos e evolução
Gráficos de progresso: peso, medidas, carga.
Consulta de execuções anteriores.
4. Feedback pós-treino
Escala de esforço, observações, registro de sensações.
5. Chat integrado
Conversas individuais com personal.
Envio de fotos, vídeos e mensagens de texto.
Histórico de chat vinculado ao treino ou geral.
6. Gamificação
Conquistas, badges, desafios semanais.
Notificações push para engajar o aluno.
7. Acesso offline
Treino do dia e materiais multimídia disponíveis sem internet.
5.2 Personal Trainer (Mobile + Desktop)
1. Dashboard modular e fluido
Cards reorganizáveis: próximos treinos, últimos feedbacks, alertas financeiros, mensagens, conquistas.
Desktop: colunas lado a lado; Mobile: cards empilhados verticalmente.
Módulos expansíveis e colapsáveis.
2. Gestão de alunos
CRUD completo, envio de convites, filtros avançados.
Acompanhamento de evolução, medidas e status de pagamento.
3. Criação de treinos e planos
Drag-and-drop de exercícios da biblioteca.
Templates reutilizáveis.
Definição de séries, reps, carga, descanso.
Periodização: liberação programada em fases.
4. Biblioteca de exercícios
Pesquisa por grupo muscular, nível e equipamento.
Multimídia (gifs, vídeos) e instruções detalhadas.
5. Relatórios e métricas
PDF/DOCX exportáveis com branding.
Comparativos: início vs atual, frequência, evolução de carga.
Dashboards interativos com gráficos e filtros.
6. Chat integrado
Conversa por treino específico ou geral.
Envio de feedback, imagens, vídeos e arquivos PDF.
Histórico completo por aluno.
7. Controle financeiro
Registro de mensalidades, alertas de vencimento e status de pagamento.
Exportação de histórico financeiro.
8. Customização de branding
Logo, cores, identidade visual do personal.
9. Integrações externas (futuro)
Google Fit, Apple Health, wearables para métricas adicionais.
---
6. Estrutura Conceitual de Dados
Users: id, nome, email, role, status, token_convite.
Alunos: user_id, idade, sexo, vínculo ao personal, status.
Anamnese: aluno_id, histórico médico, restrições, objetivos.
Medidas: aluno_id, peso, altura, gordura %, perímetros, data.
Exercícios: id, nome, grupo muscular, tipo, equipamento, mídia_url.
Planos: id, nome, descrição, personal_id.
Treinos: plano_id, aluno_id, data_início, data_fim, fase.
Treino_exercicio: treino_id, exercicio_id, séries, reps, carga, descanso.
Execuções: treino_exercicio_id, reps_real, carga_real, esforço, data.
Pagamentos: aluno_id, valor, vencimento, status, forma_pagamento.
Mensagens: origem, destino, conteúdo, timestamp.
Conquistas: aluno_id, tipo, meta_atingida, data.
---
7. Fluxos de Usuário
7.1 Aluno
1. Recebe convite → login mobile.
2. Treino do dia → marca execução de exercícios com timer.
3. Finaliza treino → envia feedback → desbloqueia conquistas.
4. Consulta histórico → visualiza evolução em gráficos.
5. Envia mensagens para personal → recebe resposta no chat.
7.2 Personal
1. Login desktop/mobile → dashboard modular.
2. Visualiza próximos treinos, feedbacks, alertas financeiros, mensagens.
3. Cria/atualiza treinos → libera para alunos.
4. Analisa relatórios → exporta PDF/DOCX.
5. Monitora chat → responde dúvidas e envia feedback.
6. Atualiza medidas/anamnese → registra pagamentos → acompanha evolução.
---
8. Wireframes Descritivos
8.1 Aluno – Mobile
Tela Inicial: card com treino do dia, checklist, botão “concluir série”, timer embutido.
Histórico: linha do tempo vertical, mini-gráficos de evolução, botão “detalhes do treino”.
Chat: lista de mensagens com ícones de envio/recebimento, botão para enviar mídia.
Feedback: escala de esforço + observações + desbloqueio de badges.
8.2 Personal – Desktop e Mobile
Dashboard Desktop: 4 colunas com cards rearranjáveis (próximos treinos, feedbacks, alertas financeiros, mensagens).
Dashboard Mobile: cards empilhados, swipe lateral entre módulos.
Criação de Treino: tela drag-and-drop da biblioteca → treino → salvar/ativar.
Relatórios: gráfico de evolução do aluno → toggle medidas/carga → exportação PDF/DOCX.
Chat: mensagens organizadas por treino ou geral, envio de fotos/vídeos/PDF.
---
9. Regras de Negócio
RN-01: Aluno só acessa treinos liberados pelo personal.
RN-02: Execuções são registradas como log imutável.
RN-03: Treino do dia e multimídia acessíveis offline.
RN-04: Chat seguro, vinculado à relação aluno-personal.
RN-05: Todas funcionalidades do personal têm paridade mobile/desktop.
---
10. Requisitos Não Funcionais
Performance: carregamento <2s em 4G.
Segurança: autenticação via token, criptografia de dados sensíveis.
Responsividade: mobile-first para aluno, desktop + mobile para personal.
Modularidade: cards e módulos reorganizáveis, expansíveis/colapsáveis.
Offline-first: treino do dia, multimídia e chat funcionam sem internet.
---
11. Métricas de Sucesso
Engajamento: treinos concluídos, logins semanais, conquistas desbloqueadas.
Eficiência do personal: treinos criados, relatórios gerados, tempo médio de montagem de treino.
Retenção: % de alunos ativos após 30/60/90 dias.
Financeiro: pagamentos registrados, alertas cumpridos, mensalidades ativas.
---
12. Diferenciais Competitivos
Aluno mobile-only → simplicidade e foco total em treino.
Personal mobile + desktop → dashboard modular, fluido e reorganizável.
Chat integrado aluno ↔ personal com histórico e envio de mídia.
Gamificação para engajamento do aluno.
Relatórios e dashboards personalizáveis com branding.
Offline-ready e mobile-first.
Modularidade e paridade total entre dispositivos para o personal.
---
💡 Esse documento agora é um guia completo: PRD + fluxo de usuário + wireframes textuais + regras, métricas e diferencial competitivo. Dá pra entregar direto pra equipe de UX/UI ou IA desenvolver, sem precisar de explicações adicionais.
Se quiser, posso gerar agora um PDF pronto, com layout corporativo, índice e seções, exatamente no padrão consultoria/empresa, já visualmente organizado para apresentação.
Quer que eu faça isso?
- README.md +7 -4
- funcionalidades.html +61 -0
- index.html +222 -18
|
@@ -1,10 +1,13 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
-
emoji: 👁
|
| 4 |
colorFrom: red
|
| 5 |
-
colorTo:
|
|
|
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
-
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
title: FitFlow Pro PRD Compass 🚀
|
|
|
|
| 3 |
colorFrom: red
|
| 4 |
+
colorTo: pink
|
| 5 |
+
emoji: 🐳
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
| 8 |
+
tags:
|
| 9 |
+
- deepsite-v3
|
| 10 |
---
|
| 11 |
|
| 12 |
+
# Welcome to your new DeepSite project!
|
| 13 |
+
This project was created with [DeepSite](https://deepsite.hf.co).
|
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="pt-BR">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>Funcionalidades - FitFlow Pro</title>
|
| 7 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
+
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 9 |
+
<script src="https://unpkg.com/feather-icons"></script>
|
| 10 |
+
<style>
|
| 11 |
+
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
|
| 12 |
+
* { font-family: 'Inter', sans-serif; }
|
| 13 |
+
.primary-color { color: #1e3a8a; }
|
| 14 |
+
.secondary-color { color: #10b981; }
|
| 15 |
+
.accent-color { color: #f59e0b; }
|
| 16 |
+
.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; }
|
| 17 |
+
.platform-badge { padding: 0.25rem 0.75rem; border-radius: 1rem; font-size: 0.75rem; font-weight: 600; }
|
| 18 |
+
.mobile-badge { background: #dbeafe; color: #1e40af; }
|
| 19 |
+
.desktop-badge { background: #dcfce7; color: #166534; }
|
| 20 |
+
.both-badge { background: #fef3c7; color: #92400e; }
|
| 21 |
+
</style>
|
| 22 |
+
</head>
|
| 23 |
+
<body class="bg-gray-50">
|
| 24 |
+
<div class="max-w-6xl mx-auto p-8">
|
| 25 |
+
<!-- Header -->
|
| 26 |
+
<div class="flex items-center justify-between mb-8">
|
| 27 |
+
<h1 class="text-3xl font-bold primary-color">Funcionalidades Detalhadas</h1>
|
| 28 |
+
<a href="index.html" class="flex items-center text-blue-600 hover:text-blue-800">
|
| 29 |
+
<i data-feather="arrow-left" class="w-4 h-4 mr-2"></i>
|
| 30 |
+
Voltar ao PRD Principal
|
| 31 |
+
</a>
|
| 32 |
+
</div>
|
| 33 |
+
|
| 34 |
+
<!-- Filtros -->
|
| 35 |
+
<div class="bg-white rounded-lg shadow-sm p-6 mb-8">
|
| 36 |
+
<div class="flex flex-wrap gap-4 items-center">
|
| 37 |
+
<span class="font-semibold">Filtrar por:</span>
|
| 38 |
+
<button class="platform-badge mobile-badge">Mobile Only</button>
|
| 39 |
+
<button class="platform-badge desktop-badge">Desktop</button>
|
| 40 |
+
<button class="platform-badge both-badge">Ambas Plataformas</button>
|
| 41 |
+
</div>
|
| 42 |
+
</div>
|
| 43 |
+
|
| 44 |
+
<!-- Funcionalidades Aluno -->
|
| 45 |
+
<div class="mb-12">
|
| 46 |
+
<h2 class="text-2xl font-bold primary-color mb-6 flex items-center">
|
| 47 |
+
<i data-feather="user" class="w-6 h-6 mr-3"></i>
|
| 48 |
+
Funcionalidades - Perfil Aluno
|
| 49 |
+
</h2>
|
| 50 |
+
|
| 51 |
+
<div class="feature-grid">
|
| 52 |
+
<!-- Dashboard Pessoal -->
|
| 53 |
+
<div class="bg-white rounded-lg shadow-sm p-6 border-l-4 border-blue-500">
|
| 54 |
+
<div class="flex justify-between items-start mb-4">
|
| 55 |
+
<h3 class="text-lg font-semibold">Dashboard Pessoal</h3>
|
| 56 |
+
<span class="platform-badge mobile-badge">Mobile</span>
|
| 57 |
+
</div>
|
| 58 |
+
<p class="text-gray-600 mb-4">Visão consolidada do progresso, próximos treinos e conquistas</p>
|
| 59 |
+
<ul class="
|
| 60 |
+
</body>
|
| 61 |
+
</html>
|
|
@@ -1,19 +1,223 @@
|
|
| 1 |
-
<!
|
| 2 |
-
<html>
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
</html>
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="pt-BR">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>FitFlow Pro - PRD Corporativo</title>
|
| 7 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
+
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 9 |
+
<script src="https://unpkg.com/feather-icons"></script>
|
| 10 |
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
|
| 11 |
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script>
|
| 12 |
+
<style>
|
| 13 |
+
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
|
| 14 |
+
* { font-family: 'Inter', sans-serif; }
|
| 15 |
+
.corporate-gradient { background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 50%, #3b82f6 100%); }
|
| 16 |
+
.primary-color { color: #1e3a8a; }
|
| 17 |
+
.secondary-color { color: #10b981; }
|
| 18 |
+
.accent-color { color: #f59e0b; }
|
| 19 |
+
.page-break { page-break-after: always; }
|
| 20 |
+
.hover-lift { transition: transform 0.2s ease-in-out; }
|
| 21 |
+
.hover-lift:hover { transform: translateY(-2px); }
|
| 22 |
+
.diagram-container { background: #f8fafc; border-left: 4px solid #3b82f6; }
|
| 23 |
+
.user-flow-step { border-left: 3px solid #10b981; background: #f0fdf4; }
|
| 24 |
+
.feature-card { border-top: 3px solid #f59e0b; }
|
| 25 |
+
</style>
|
| 26 |
+
</head>
|
| 27 |
+
<body class="bg-gray-50 text-gray-800">
|
| 28 |
+
<!-- Capa Corporativa -->
|
| 29 |
+
<section id="capa" class="min-h-screen corporate-gradient text-white flex flex-col justify-center items-center p-8 page-break">
|
| 30 |
+
<div class="bg-white/10 backdrop-blur-sm rounded-2xl p-12 max-w-4xl text-center border border-white/20">
|
| 31 |
+
<div class="w-32 h-32 mx-auto mb-8 bg-white/20 rounded-2xl flex items-center justify-center">
|
| 32 |
+
<i data-feather="activity" class="w-16 h-16"></i>
|
| 33 |
+
</div>
|
| 34 |
+
<h1 class="text-5xl font-bold mb-4">FitFlow Pro</h1>
|
| 35 |
+
<h2 class="text-2xl font-light mb-8">Product Requirements Document</h2>
|
| 36 |
+
<div class="bg-white/10 rounded-lg p-6 inline-block">
|
| 37 |
+
<p class="text-lg">PWA de Gestão de Treinos Inteligente</p>
|
| 38 |
+
<p class="text-sm opacity-80 mt-2">Versão 1.0 | Documento Corporativo</p>
|
| 39 |
+
</div>
|
| 40 |
+
</div>
|
| 41 |
+
</section>
|
| 42 |
+
|
| 43 |
+
<!-- Índice Cliсável -->
|
| 44 |
+
<section id="indice" class="min-h-screen bg-white p-8 page-break">
|
| 45 |
+
<div class="max-w-4xl mx-auto">
|
| 46 |
+
<h2 class="text-3xl font-bold primary-color mb-8">Índice do Documento</h2>
|
| 47 |
+
<div class="grid md:grid-cols-2 gap-6">
|
| 48 |
+
<a href="#visao" class="hover-lift block p-6 bg-gray-50 rounded-lg border border-gray-200">
|
| 49 |
+
<div class="flex items-center mb-3">
|
| 50 |
+
<i data-feather="target" class="secondary-color mr-3"></i>
|
| 51 |
+
<h3 class="text-xl font-semibold">1. Visão Geral do Produto</h3>
|
| 52 |
+
</div>
|
| 53 |
+
<p class="text-gray-600">Objetivos estratégicos e proposta de valor</p>
|
| 54 |
+
</a>
|
| 55 |
+
|
| 56 |
+
<a href="#publico" class="hover-lift block p-6 bg-gray-50 rounded-lg border border-gray-200">
|
| 57 |
+
<div class="flex items-center mb-3">
|
| 58 |
+
<i data-feather="users" class="accent-color mr-3"></i>
|
| 59 |
+
<h3 class="text-xl font-semibold">2. Público-Alvo e Objetivos</h3>
|
| 60 |
+
</div>
|
| 61 |
+
<p class="text-gray-600">Personas e metas de negócio</p>
|
| 62 |
+
</a>
|
| 63 |
+
|
| 64 |
+
<a href="#funcionalidades" class="hover-lift block p-6 bg-gray-50 rounded-lg border border-gray-200">
|
| 65 |
+
<div class="flex items-center mb-3">
|
| 66 |
+
<i data-feather="grid" class="primary-color mr-3"></i>
|
| 67 |
+
<h3 class="text-xl font-semibold">3. Funcionalidades Detalhadas</h3>
|
| 68 |
+
</div>
|
| 69 |
+
<p class="text-gray-600">Especificações técnicas por perfil</p>
|
| 70 |
+
</a>
|
| 71 |
+
|
| 72 |
+
<a href="#dados" class="hover-lift block p-6 bg-gray-50 rounded-lg border border-gray-200">
|
| 73 |
+
<div class="flex items-center mb-3">
|
| 74 |
+
<i data-feather="database" class="secondary-color mr-3"></i>
|
| 75 |
+
<h3 class="text-xl font-semibold">4. Estrutura de Dados</h3>
|
| 76 |
+
</div>
|
| 77 |
+
<p class="text-gray-600">Modelagem conceitual e relações</p>
|
| 78 |
+
</a>
|
| 79 |
+
|
| 80 |
+
<a href="#fluxos" class="hover-lift block p-6 bg-gray-50 rounded-lg border border-gray-200">
|
| 81 |
+
<div class="flex items-center mb-3">
|
| 82 |
+
<i data-feather="repeat" class="accent-color mr-3"></i>
|
| 83 |
+
<h3 class="text-xl font-semibold">5. Fluxos de Usuário</h3>
|
| 84 |
+
</div>
|
| 85 |
+
<p class="text-gray-600">Journeys completos e interações</p>
|
| 86 |
+
</a>
|
| 87 |
+
|
| 88 |
+
<a href="#wireframes" class="hover-lift block p-6 bg-gray-50 rounded-lg border border-gray-200">
|
| 89 |
+
<div class="flex items-center mb-3">
|
| 90 |
+
<i data-feather="layout" class="primary-color mr-3"></i>
|
| 91 |
+
<h3 class="text-xl font-semibold">6. Wireframes Textuais</h3>
|
| 92 |
+
</div>
|
| 93 |
+
<p class="text-gray-600">Descrições detalhadas de interface</p>
|
| 94 |
+
</a>
|
| 95 |
+
</div>
|
| 96 |
+
</div>
|
| 97 |
+
</section>
|
| 98 |
+
|
| 99 |
+
<!-- Visão Geral -->
|
| 100 |
+
<section id="visao" class="min-h-screen bg-white p-8 page-break">
|
| 101 |
+
<div class="max-w-4xl mx-auto">
|
| 102 |
+
<h2 class="text-3xl font-bold primary-color mb-8">1. Visão Geral do Produto</h2>
|
| 103 |
+
|
| 104 |
+
<div class="diagram-container p-6 rounded-lg mb-8">
|
| 105 |
+
<h3 class="text-xl font-semibold mb-4">Proposta de Valor</h3>
|
| 106 |
+
<p class="text-lg leading-relaxed">
|
| 107 |
+
FitFlow Pro é uma PWA (Progressive Web App) de gestão de treinos que conecta personal trainers
|
| 108 |
+
e alunos através de uma plataforma inteligente, modular e gamificada. A solução oferece
|
| 109 |
+
<span class="secondary-color font-semibold">paridade total mobile/desktop</span> para trainers e
|
| 110 |
+
<span class="accent-color font-semibold">experiência mobile-first</span> para alunos, com
|
| 111 |
+
sincronização offline e dashboard reorganizável.
|
| 112 |
+
</p>
|
| 113 |
+
</div>
|
| 114 |
+
|
| 115 |
+
<div class="grid md:grid-cols-3 gap-6 mb-8">
|
| 116 |
+
<div class="feature-card p-6 bg-white rounded-lg shadow-sm">
|
| 117 |
+
<i data-feather="smartphone" class="w-8 h-8 primary-color mb-4"></i>
|
| 118 |
+
<h4 class="font-semibold text-lg mb-2">Mobile-First</h4>
|
| 119 |
+
<p class="text-gray-600">Experiência otimizada para dispositivos móveis com PWA</p>
|
| 120 |
+
</div>
|
| 121 |
+
<div class="feature-card p-6 bg-white rounded-lg shadow-sm">
|
| 122 |
+
<i data-feather="refresh-cw" class="w-8 h-8 secondary-color mb-4"></i>
|
| 123 |
+
<h4 class="font-semibold text-lg mb-2">Sincronização Offline</h4>
|
| 124 |
+
<p class="text-gray-600">Funcionalidade completa sem conexão à internet</p>
|
| 125 |
+
</div>
|
| 126 |
+
<div class="feature-card p-6 bg-white rounded-lg shadow-sm">
|
| 127 |
+
<i data-feather="award" class="w-8 h-8 accent-color mb-4"></i>
|
| 128 |
+
<h4 class="font-semibold text-lg mb-2">Gamificação</h4>
|
| 129 |
+
<p class="text-gray-600">Sistema de recompensas e conquistas para engajamento</p>
|
| 130 |
+
</div>
|
| 131 |
+
</div>
|
| 132 |
+
</div>
|
| 133 |
+
</section>
|
| 134 |
+
|
| 135 |
+
<!-- Público-Alvo -->
|
| 136 |
+
<section id="publico" class="min-h-screen bg-white p-8 page-break">
|
| 137 |
+
<div class="max-w-4xl mx-auto">
|
| 138 |
+
<h2 class="text-3xl font-bold primary-color mb-8">2. Público-Alvo e Objetivos</h2>
|
| 139 |
+
|
| 140 |
+
<div class="grid md:grid-cols-2 gap-8 mb-8">
|
| 141 |
+
<!-- Aluno -->
|
| 142 |
+
<div class="bg-gradient-to-br from-blue-50 to-green-50 p-6 rounded-xl">
|
| 143 |
+
<div class="flex items-center mb-4">
|
| 144 |
+
<div class="w-12 h-12 bg-blue-100 rounded-full flex items-center justify-center mr-4">
|
| 145 |
+
<i data-feather="user" class="primary-color"></i>
|
| 146 |
+
</div>
|
| 147 |
+
<h3 class="text-xl font-semibold">Perfil: Aluno</h3>
|
| 148 |
+
</div>
|
| 149 |
+
<ul class="space-y-2 text-gray-700">
|
| 150 |
+
<li class="flex items-center"><i data-feather="check" class="w-4 h-4 text-green-500 mr-2"></i> Foco exclusivo mobile</li>
|
| 151 |
+
<li class="flex items-center"><i data-feather="check" class="w-4 h-4 text-green-500 mr-2"></i> Idade: 18-45 anos</li>
|
| 152 |
+
<li class="flex items-center"><i data-feather="check" class="w-4 h-4 text-green-500 mr-2"></i> Busca por praticidade</li>
|
| 153 |
+
<li class="flex items-center"><i data-feather="check" class="w-4 h-4 text-green-500 mr-2"></i> Valoriza gamificação</li>
|
| 154 |
+
</ul>
|
| 155 |
+
</div>
|
| 156 |
+
|
| 157 |
+
<!-- Personal Trainer -->
|
| 158 |
+
<div class="bg-gradient-to-br from-green-50 to-amber-50 p-6 rounded-xl">
|
| 159 |
+
<div class="flex items-center mb-4">
|
| 160 |
+
<div class="w-12 h-12 bg-green-100 rounded-full flex items-center justify-center mr-4">
|
| 161 |
+
<i data-feather="users" class="secondary-color"></i>
|
| 162 |
+
</div>
|
| 163 |
+
<h3 class="text-xl font-semibold">Perfil: Personal Trainer</h3>
|
| 164 |
+
</div>
|
| 165 |
+
<ul class="space-y-2 text-gray-700">
|
| 166 |
+
<li class="flex items-center"><i data-feather="check" class="w-4 h-4 text-green-500 mr-2"></i> Paridade mobile/desktop</li>
|
| 167 |
+
<li class="flex items-center"><i data-feather="check" class="w-4 h-4 text-green-500 mr-2"></i> Gestão de múltiplos alunos</li>
|
| 168 |
+
<li class="flex items-center"><i data-feather="check" class="w-4 h-4 text-green-500 mr-2"></i> Dashboard modular</li>
|
| 169 |
+
<li class="flex items-center"><i data-feather="check" class="w-4 h-4 text-green-500 mr-2"></i> Análise de performance</li>
|
| 170 |
+
</ul>
|
| 171 |
+
</div>
|
| 172 |
+
</div>
|
| 173 |
+
</div>
|
| 174 |
+
</section>
|
| 175 |
+
|
| 176 |
+
<!-- Botão de Download PDF -->
|
| 177 |
+
<div class="fixed bottom-8 right-8">
|
| 178 |
+
<button onclick="generatePDF()" class="bg-blue-600 hover:bg-blue-700 text-white px-6 py-3 rounded-full shadow-lg flex items-center hover-lift">
|
| 179 |
+
<i data-feather="download" class="w-5 h-5 mr-2"></i>
|
| 180 |
+
Exportar PDF
|
| 181 |
+
</button>
|
| 182 |
+
</div>
|
| 183 |
+
|
| 184 |
+
<script>
|
| 185 |
+
feather.replace();
|
| 186 |
+
|
| 187 |
+
function generatePDF() {
|
| 188 |
+
const { jsPDF } = window.jspdf;
|
| 189 |
+
const doc = new jsPDF('p', 'mm', 'a4');
|
| 190 |
+
|
| 191 |
+
// Simulação de geração de PDF - em produção usar html2canvas
|
| 192 |
+
doc.setFontSize(22);
|
| 193 |
+
doc.setTextColor(30, 58, 138);
|
| 194 |
+
doc.text('FitFlow Pro - PRD Corporativo', 20, 30);
|
| 195 |
+
|
| 196 |
+
doc.setFontSize(12);
|
| 197 |
+
doc.setTextColor(100, 100, 100);
|
| 198 |
+
doc.text('Documento gerado automaticamente pelo sistema', 20, 45);
|
| 199 |
+
|
| 200 |
+
// Adicionar páginas do conteúdo
|
| 201 |
+
const sections = ['capa', 'indice', 'visao', 'publico'];
|
| 202 |
+
sections.forEach((section, index) => {
|
| 203 |
+
if(index > 0) doc.addPage();
|
| 204 |
+
doc.setFontSize(16);
|
| 205 |
+
doc.text(`Seção ${index + 1}`, 20, 60);
|
| 206 |
+
});
|
| 207 |
+
|
| 208 |
+
doc.save('FitFlow_Pro_PRD.pdf');
|
| 209 |
+
}
|
| 210 |
+
|
| 211 |
+
// Smooth scroll para links internos
|
| 212 |
+
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
| 213 |
+
anchor.addEventListener('click', function (e) {
|
| 214 |
+
e.preventDefault();
|
| 215 |
+
const target = document.querySelector(this.getAttribute('href'));
|
| 216 |
+
if (target) {
|
| 217 |
+
target.scrollIntoView({ behavior: 'smooth' });
|
| 218 |
+
}
|
| 219 |
+
});
|
| 220 |
+
});
|
| 221 |
+
</script>
|
| 222 |
+
</body>
|
| 223 |
</html>
|