docs: Adicionar README completo com documentação do projeto
This commit is contained in:
211
README.md
Normal file
211
README.md
Normal file
@@ -0,0 +1,211 @@
|
|||||||
|
# 🚀 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! 🚀💪
|
||||||
|
|
||||||
Reference in New Issue
Block a user