Files
vida180/README.md

212 lines
5.7 KiB
Markdown
Raw Normal View History

# 🚀 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 <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
```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! 🚀💪