212 lines
5.7 KiB
Markdown
212 lines
5.7 KiB
Markdown
# 🚀 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! 🚀💪
|
|
|