Files
vida180/README.md

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

  1. Clone o repositório:
git clone https://meurepositorio.com/sergio.correa/vida180.git
cd vida180
  1. Configure as variáveis de ambiente:
cp backend/.env.example backend/.env
# Edite o arquivo .env com suas configurações
  1. Inicie os containers:
docker-compose up -d
  1. Acesse a aplicação:

📦 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ário
  • POST /api/v1/auth/login - Login

Hábitos

  • GET /api/v1/habits/ - Listar hábitos
  • POST /api/v1/habits/ - Criar hábito
  • POST /api/v1/habits/{id}/complete - Marcar como completo
  • DELETE /api/v1/habits/{id} - Deletar hábito
  • GET /api/v1/habits/stats - Estatísticas

Tarefas

  • GET /api/v1/tasks/ - Listar tarefas
  • POST /api/v1/tasks/ - Criar tarefa
  • GET /api/v1/tasks/today - Tarefas de hoje
  • PUT /api/v1/tasks/{id} - Atualizar tarefa
  • PATCH /api/v1/tasks/{id}/status - Atualizar status
  • DELETE /api/v1/tasks/{id} - Deletar tarefa
  • GET /api/v1/tasks/stats/summary - Estatísticas

Saúde

  • GET /api/v1/health/ - Listar métricas
  • POST /api/v1/health/ - Registrar métrica
  • GET /api/v1/health/latest - Última métrica
  • PUT /api/v1/health/{id} - Atualizar métrica
  • DELETE /api/v1/health/{id} - Deletar métrica
  • GET /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ários
  • POST /api/v1/admin/users/{id}/toggle-active - Ativar/desativar
  • GET /api/v1/admin/messages - Listar mensagens
  • POST /api/v1/admin/messages - Criar mensagem
  • DELETE /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


VIDA180 - Transforme sua vida em 180 dias! 🚀💪