Sistema completo de gestão familiar com foco em saúde e manutenção de equipamentos. Desenvolvido com tecnologias modernas e arquitetura escalável.
👉 Consulte DOCUMENTACAO.md para a documentação completa e detalhada.
A documentação inclui:
- ✅ Instalação e setup local
- ✅ Deploy em VPS
- ✅ Configuração do Nginx Proxy Manager
- ✅ Configuração de banco de dados
- ✅ Comandos úteis
- ✅ Troubleshooting completo
- ✅ Estrutura do projeto
- FastAPI - Framework web moderno e rápido para Python
- SQLAlchemy - ORM para Python
- PostgreSQL - Banco de dados relacional
- JWT - Autenticação com tokens
- Pydantic - Validação de dados
- React - Biblioteca para interfaces
- TypeScript - JavaScript com tipagem
- Vite - Build tool ultra-rápido
- TailwindCSS - Framework CSS utility-first
- React Router - Navegação
- Axios - Cliente HTTP
- Zustand - Gerenciamento de estado
- React Query - Cache e sincronização de dados
- PWA - Progressive Web App (funciona offline e pode ser instalado)
- ✅ Cadastro de membros da família
- ✅ Registro de consultas médicas
- ✅ Controle de medicamentos
- ✅ Histórico de procedimentos médicos
- ✅ Alertas de medicação
- ✅ Fotos de perfil dos membros
- ✅ Cadastro de equipamentos domésticos
- ✅ Registro de ordens de manutenção
- ✅ Histórico de manutenções
- ✅ Controle de garantias
- ✅ Upload de notas fiscais e anexos
- ✅ Estatísticas de custos
- ✅ Login/Registro de usuários
- ✅ Autenticação JWT
- ✅ Perfis de usuário
- ✅ Controle de acesso
- Python 3.10+
- Node.js 18+
- PostgreSQL 14+
- npm ou yarn
# Execute o script de setup
.\setup.ps1
# Inicie os servidores
.\start.ps1-
Backend:
cd backend python -m venv venv .\venv\Scripts\activate # Windows pip install -r requirements.txt copy .env.example .env # Edite o .env com suas configurações
-
Frontend:
cd frontend npm install -
Iniciar:
.\start.ps1
-
Acessar:
- Frontend: http://localhost:5173
- Backend: http://localhost:8001
- API Docs: http://localhost:8001/api/v1/docs
📖 Para instruções detalhadas, consulte DOCUMENTACAO.md
``` SistemaFamiliar2.0/ ├── backend/ │ ├── app/ │ │ ├── api/ │ │ │ ├── v1/ │ │ │ │ ├── endpoints/ │ │ │ │ │ ├── auth.py # Autenticação (login/register) │ │ │ │ │ ├── users.py # Usuários │ │ │ │ │ ├── dashboard.py # Dashboard e preferências │ │ │ │ │ ├── healthcare.py # Saúde (membros, consultas, medicamentos) │ │ │ │ │ └── maintenance.py # Manutenção (equipamentos, ordens) │ │ │ │ └── api.py # Agregador de rotas │ │ │ └── deps.py # Dependências (get_current_user) │ │ ├── core/ │ │ │ ├── config.py # Configurações (settings) │ │ │ └── security.py # JWT e criptografia │ │ ├── db/ │ │ │ └── base.py # Conexão com PostgreSQL │ │ ├── models/ │ │ │ ├── user.py # User, Profile │ │ │ ├── dashboard.py # DashboardPreference │ │ │ ├── healthcare.py # FamilyMember, Appointment, Medication, Procedure │ │ │ └── maintenance.py # Equipment, MaintenanceOrder, Attachment, Image │ │ ├── schemas/ │ │ │ └── ... # Schemas Pydantic para validação │ │ └── main.py # Aplicação FastAPI │ ├── requirements.txt │ └── .env.example │ ├── frontend/ │ ├── src/ │ │ ├── components/ │ │ │ └── Layout.tsx # Layout principal com sidebar │ │ ├── lib/ │ │ │ ├── api.ts # Cliente Axios configurado │ │ │ └── utils.ts # Utilitários │ │ ├── pages/ │ │ │ ├── Dashboard.tsx # Página inicial │ │ │ ├── Login.tsx # Login │ │ │ ├── Register.tsx # Registro │ │ │ ├── healthcare/ │ │ │ │ ├── FamilyMembers.tsx │ │ │ │ ├── Appointments.tsx │ │ │ │ └── Medications.tsx │ │ │ └── maintenance/ │ │ │ ├── Equipment.tsx │ │ │ └── MaintenanceOrders.tsx │ │ ├── services/ │ │ │ └── authService.ts # Serviços de autenticação │ │ ├── stores/ │ │ │ └── authStore.ts # Zustand store para auth │ │ ├── App.tsx # Rotas principais │ │ ├── main.tsx # Entry point │ │ └── index.css # Estilos globais + Tailwind │ ├── index.html │ ├── package.json │ ├── vite.config.ts │ ├── tailwind.config.js │ └── tsconfig.json │ └── README.md ```
Após iniciar o backend, acesse a documentação interativa:
- Swagger UI: http://localhost:8001/api/v1/docs
- ReDoc: http://localhost:8001/api/v1/redoc
- `POST /api/v1/auth/login` - Login
- `POST /api/v1/auth/register` - Registro
- `GET /api/v1/users/me` - Obter usuário atual
- `PUT /api/v1/users/me/profile` - Atualizar perfil
- `GET /api/v1/healthcare/members` - Listar membros
- `POST /api/v1/healthcare/members` - Criar membro
- `GET /api/v1/healthcare/appointments` - Listar consultas
- `POST /api/v1/healthcare/appointments` - Criar consulta
- `GET /api/v1/healthcare/medications` - Listar medicamentos
- `POST /api/v1/healthcare/medications` - Criar medicamento
- `GET /api/v1/maintenance/equipment` - Listar equipamentos
- `POST /api/v1/maintenance/equipment` - Criar equipamento
- `GET /api/v1/maintenance/orders` - Listar ordens de manutenção
- `POST /api/v1/maintenance/orders` - Criar ordem
- `GET /api/v1/maintenance/dashboard/stats` - Estatísticas
O frontend é uma PWA, o que significa:
- ✅ Pode ser instalado como app no celular/desktop
- ✅ Funciona offline (cache de dados)
- ✅ Ícone na tela inicial
- ✅ Notificações push (futuro)
Para instalar:
- Acesse pelo navegador mobile
- Clique em "Adicionar à tela inicial"
- Use como um app nativo!
- ✅ Senhas hasheadas com bcrypt
- ✅ Autenticação JWT
- ✅ CORS configurado
- ✅ Validação de dados com Pydantic
- ✅ Proteção contra SQL Injection (SQLAlchemy ORM)
- ✅ Tokens expiram em 30 minutos
- Faça um fork do projeto
- Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
- Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
- Push para a branch (`git push origin feature/AmazingFeature`)
- Abra um Pull Request
Este projeto é privado e de uso familiar.
Desenvolvido com ❤️ para gestão familiar
Para troubleshooting completo, consulte a seção Troubleshooting em DOCUMENTACAO.md.
Problemas comuns:
- Erro 502 Bad Gateway → Ver seção de Troubleshooting na documentação
- Erro ao conectar no PostgreSQL → Verificar configuração do banco
- Erro de CORS → Verificar se backend está rodando
- Port já em uso → Parar processos ou mudar porta
📚 Consulte DOCUMENTACAO.md para informações completas sobre:
- ✅ Instalação detalhada
- ✅ Deploy em VPS
- ✅ Configuração do Nginx Proxy Manager
- ✅ Troubleshooting completo
- ✅ Comandos úteis
- ✅ Estrutura do projeto
🎉 Pronto! Seu Sistema Familiar está configurado e funcionando!