# 🚀 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: ```bash git clone https://meurepositorio.com/sergio.correa/vida180.git cd vida180 ``` 2. Configure as variáveis de ambiente: ```bash cp backend/.env.example backend/.env # Edite o arquivo .env com suas configurações ``` 3. Inicie os containers: ```bash docker-compose up -d ``` 4. 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 ``` ## 📡 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 ```bash cd backend pip install -r requirements.txt uvicorn app.main:app --reload ``` ### Frontend ```bash cd frontend npm install npm start ``` ## 📝 Licença Este projeto é propriedade privada. ## 👨‍💻 Autor **Sergio Correa** - Repositório: [https://meurepositorio.com/sergio.correa/vida180.git](https://meurepositorio.com/sergio.correa/vida180.git) --- **VIDA180** - Transforme sua vida em 180 dias! 🚀💪