5.7 KiB
5.7 KiB
🚀 VIDA180 - Plataforma de Transformação Pessoal
Sistema completo de gerenciamento de hábitos, tarefas e métricas de saúde para ajudar você a transformar sua vida em 180 dias.
📋 Funcionalidades
✅ Gerenciamento de Tarefas
- Criar, editar e excluir tarefas
- Definir prioridades (baixa, média, alta)
- Definir status (pendente, em progresso, concluída)
- Filtrar tarefas por status
- Visualizar tarefas de hoje
- Estatísticas detalhadas
💪 Métricas de Saúde
- Registrar peso, altura e % de gordura
- Registrar massa muscular
- Registrar medidas (cintura, peito, quadril)
- Histórico completo de medições
- Acompanhar variação de peso
- Estatísticas e resumo
🎯 Hábitos
- Criar e gerenciar hábitos diários
- Marcar hábitos como concluídos
- Acompanhar sequências (streaks)
- Estatísticas de conclusão
📈 Progresso
- Dashboard consolidado com todas as estatísticas
- Visualização de progresso em hábitos, tarefas e saúde
- Mensagens motivacionais
👨💼 Painel Administrativo
- Gerenciamento de usuários (apenas superadmin)
- Gerenciamento de mensagens diárias motivacionais
🛠️ Tecnologias
Backend
- FastAPI - Framework web Python moderno e rápido
- PostgreSQL - Banco de dados relacional
- SQLAlchemy - ORM para Python
- Redis - Cache e gerenciamento de sessões
- JWT - Autenticação segura
- Argon2 - Hash de senhas
Frontend
- React com TypeScript
- CSS Modules - Estilização componentizada
- Design moderno com gradientes coloridos
- Interface responsiva
DevOps
- Docker e Docker Compose
- Nginx - Proxy reverso
- Containerização completa
🚀 Instalação e Execução
Pré-requisitos
- Docker
- Docker Compose
Passos
- Clone o repositório:
git clone https://meurepositorio.com/sergio.correa/vida180.git
cd vida180
- Configure as variáveis de ambiente:
cp backend/.env.example backend/.env
# Edite o arquivo .env com suas configurações
- Inicie os containers:
docker-compose up -d
- Acesse a aplicação:
- Frontend: http://localhost:3200
- Backend API: http://localhost:8000
- Documentação API: http://localhost:8000/docs
📦 Estrutura do Projeto
vida180/
├── backend/
│ ├── app/
│ │ ├── api/ # Endpoints da API
│ │ │ ├── auth.py
│ │ │ ├── habits.py
│ │ │ ├── health.py
│ │ │ ├── tasks.py
│ │ │ ├── messages.py
│ │ │ └── admin.py
│ │ ├── core/ # Configurações core
│ │ ├── models/ # Modelos do banco de dados
│ │ ├── schemas/ # Schemas Pydantic
│ │ └── services/ # Serviços e lógica de negócio
│ ├── Dockerfile
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── components/ # Componentes reutilizáveis
│ │ ├── contexts/ # Contexts do React
│ │ ├── pages/ # Páginas da aplicação
│ │ │ ├── Dashboard.tsx
│ │ │ ├── Habits.tsx
│ │ │ ├── Tasks.tsx
│ │ │ ├── Health.tsx
│ │ │ ├── Progress.tsx
│ │ │ └── Admin.tsx
│ │ └── App.tsx
│ ├── Dockerfile
│ └── package.json
├── nginx/ # Configuração do Nginx
└── docker-compose.yml
🔐 Autenticação
O sistema utiliza JWT (JSON Web Tokens) para autenticação. Todas as rotas protegidas requerem um token válido no header:
Authorization: Bearer <token>
📡 API Endpoints
Autenticação
POST /api/v1/auth/register- Registrar novo usuárioPOST /api/v1/auth/login- Login
Hábitos
GET /api/v1/habits/- Listar hábitosPOST /api/v1/habits/- Criar hábitoPOST /api/v1/habits/{id}/complete- Marcar como completoDELETE /api/v1/habits/{id}- Deletar hábitoGET /api/v1/habits/stats- Estatísticas
Tarefas
GET /api/v1/tasks/- Listar tarefasPOST /api/v1/tasks/- Criar tarefaGET /api/v1/tasks/today- Tarefas de hojePUT /api/v1/tasks/{id}- Atualizar tarefaPATCH /api/v1/tasks/{id}/status- Atualizar statusDELETE /api/v1/tasks/{id}- Deletar tarefaGET /api/v1/tasks/stats/summary- Estatísticas
Saúde
GET /api/v1/health/- Listar métricasPOST /api/v1/health/- Registrar métricaGET /api/v1/health/latest- Última métricaPUT /api/v1/health/{id}- Atualizar métricaDELETE /api/v1/health/{id}- Deletar métricaGET /api/v1/health/stats/summary- Estatísticas
Mensagens
GET /api/v1/messages/daily- Mensagem motivacional do dia
Admin (apenas superadmin)
GET /api/v1/admin/users- Listar usuáriosPOST /api/v1/admin/users/{id}/toggle-active- Ativar/desativarGET /api/v1/admin/messages- Listar mensagensPOST /api/v1/admin/messages- Criar mensagemDELETE /api/v1/admin/messages/{id}- Deletar mensagem
🎨 Design
O sistema possui design moderno com:
- Gradientes coloridos personalizados para cada seção
- Interface responsiva
- Animações suaves
- Cards com efeitos hover
- Estatísticas visuais
🔧 Desenvolvimento
Backend
cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload
Frontend
cd frontend
npm install
npm start
📝 Licença
Este projeto é propriedade privada.
👨💻 Autor
Sergio Correa
- Repositório: https://meurepositorio.com/sergio.correa/vida180.git
VIDA180 - Transforme sua vida em 180 dias! 🚀💪