Um app mobile e sistema web pensados para facilitar o acompanhamento de pessoas com sofrimento psíquico, integrando pacientes, ACS, psicólogos e psiquiatras de forma humanizada e extensível.
O SAÚDE! é um sistema em constante evolução que:
- Registra hábitos, sintomas e sentimentos de pacientes
- Permite a personalização do acompanhamento
- Compartilha dados com profissionais apenas quando o paciente autoriza
- Usa o modelo de dados OMOP para garantir extensibilidade e interoperabilidade
- Está sendo desenvolvido com foco na RAPS (Rede de Atenção Psicossocial)
- Backend: Django + Django REST Framework
- Banco de dados: PostgreSQL (modelo OMOP adaptado)
- Mobile App: React + Capacitor (em desenvolvimento)
- Infra: Docker para banco de dados
| Recurso | Link |
|---|---|
| 📐 Diagrama do Banco de Dados (OMOP) | dbdocs.io/saude_mental_database |
| 🎨 Protótipos Figma | Figma do frontend |
| 📋 Quadro de tarefas (Trello) | Trello do projeto SAÚDE! |
git clone https://github.com/seu-usuario/saude-backend.git
cd saude-backendpython -m venv venv
source venv/bin/activatepip install -r requirements.txtdocker-compose up -dpython manage.py runserver| Endpoint | Descrição |
|---|---|
/api/concepts/ |
Lista de conceitos padrão (mood, hábito, etc) |
/api/observations/ |
Registros dos pacientes |
/api/drugexposure/ |
Controle de medicação |
/api/person/ |
Perfis de pacientes |
/api/provider/ |
Profissionais de saúde vinculados |
- Crie uma branch com sua feature ou correção
- Faça commit com mensagens claras
- Abra um Pull Request aqui no GitHub
Usamos o pre-commit para manter o código formatado e limpo automaticamente antes de cada commit.
✅ Setup inicial:
pip install pre-commit
pre-commit installIsso instala os hooks para rodar automaticamente.
Hooks incluídos:
- black: formatação padrão para Python
- isort: ordenação de imports
- flake8: boas práticas e erros comuns
- end-of-file-fixer: insere \n no final dos arquivos
- trailing-whitespace: remove espaços extras
O arquivo .pre-commit-config.yaml já está incluído na raiz do projeto.
Use o padrão:
tipo/SAU-ticket/nome-descritivoOnde "ticket" é o número do ticket no trello associado com essa mudança.
feat/SAU-7/observation-endpointfix/SAU-7/concept-foreign-key-errorhotfix/SAU-5/production-crashdocs/SAU-3/readme-ajustes
Tipos recomendados:
feat/→ nova funcionalidadefix/→ correções de bugsrefactor/→ mudanças internas sem mudar comportamentohotfix/→ correções urgentesdocs/→ documentação
Evite nomes genéricos como "Update code" ou "final version"
Use:
- feat(SAU-7): Adiciona endpoint de observações
- fix(SAU-5): Corrige constraint de concept
- refactor(SAU-3): Limpa models e serializers
- docs(SAU-45): Adiciona instruções de setup no README
E sempre adicione:
- O contexto da mudança
- Se afeta algo que precisa ser testado
- Link para o card no Trello
Que bom que ficou lindo!! 🔥
Agora aqui está o texto para você colocar no seu README.md explicando direitinho o processo de mudanças no banco de dados:
Sempre que houver alterações no banco de dados, siga este fluxo:
-
Atualizar o
models.py- Faça as mudanças necessárias nas classes Django (
app_saude/models.py).
- Faça as mudanças necessárias nas classes Django (
-
Atualizar o
.dbml- Atualize o arquivo DBML correspondente na pasta
db/(db/saude.dbml) para refletir as mudanças feitas nomodels.py. - O DBML é usado para gerar a documentação visual do banco.
- Atualize o arquivo DBML correspondente na pasta
-
Subir o banco de dados local
-
Suba o PostgreSQL usando Docker:
docker-compose up -d
-
-
Gerar e aplicar migrações
-
Rode o
makemigrationsemigratepara aplicar as mudanças no Postgres:python manage.py makemigrations python manage.py migrate
-
Se o Django pedir valor default para novos campos, forneça quando aplicável.
-
-
Atualizar a documentação DBML
-
Após tudo estar correto, atualize a documentação no dbdocs.io:
dbdocs login # apenas na primeira vez dbdocs build ./db/saude.dbml -
Isso irá reconstruir e publicar a documentação atualizada.
-
- Sempre mantenha o
models.pye osaude.dbmlsincronizados. - O arquivo
.dbdocs.ymlcontrola o projeto que será publicado no dbdocs.io.