{"id":51824231,"url":"https://github.com/nkdwon/healthcare-system","last_synced_at":"2026-07-22T07:33:40.844Z","repository":{"id":365099991,"uuid":"1270420420","full_name":"nkdwon/healthcare-system","owner":"nkdwon","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-15T21:28:02.000Z","size":48,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-15T22:23:01.359Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nkdwon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-15T17:39:18.000Z","updated_at":"2026-06-15T21:28:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nkdwon/healthcare-system","commit_stats":null,"previous_names":["nkdwon/healthcare-system"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/nkdwon/healthcare-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nkdwon%2Fhealthcare-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nkdwon%2Fhealthcare-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nkdwon%2Fhealthcare-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nkdwon%2Fhealthcare-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nkdwon","download_url":"https://codeload.github.com/nkdwon/healthcare-system/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nkdwon%2Fhealthcare-system/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35753457,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-22T02:00:06.236Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-22T07:33:38.204Z","updated_at":"2026-07-22T07:33:40.838Z","avatar_url":"https://github.com/nkdwon.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Healthcare System\n\nSistema de gerenciamento de profissionais de saúde desenvolvido para a disciplina de Engenharia de Software II da PUC Minas.\n\n## Integrantes\n\n* Felipe Barros Ratton de Almeida\n* Laura Menezes Heráclito Alves\n\n## Tecnologias\n\n* Frontend: React + Vite\n* Backend: Python + FastAPI\n* Banco de Dados: PostgreSQL\n* Containerização: Docker e Docker Compose\n* CI/CD: GitHub Actions\n* Hospedagem: Render\n\n## Arquitetura\n\nO projeto é dividido em três camadas principais:\n\n* Frontend: interface web em React\n* Backend: API REST em FastAPI\n* Banco de Dados: PostgreSQL\n\nEstrutura principal:\n\n```text\nhealthcare-system/\n├── frontend/\n├── backend/\n├── database/\n├── .github/\n├── docker-compose.yml\n└── README.md\n```\n\n## Modelo de Dados\n\nO arquivo `database/schema.sql` define o modelo principal utilizado pela aplicação.\n\n### Entidades\n\n* `profissionais_saude`\n* `pacientes`\n* `atendimentos`\n* `receitas_saude`\n* `exames_lab`\n* `prontuarios`\n\n### Categorias de Profissionais\n\n* `MEDICO`\n* `PSICOLOGO`\n* `FISIOTERAPEUTA`\n\n### Tipos de Receita\n\n* `REMEDIO`\n* `ATIVIDADE_FISICA`\n* `ATIVIDADE_MENTAL`\n\n### Regras de Negócio\n\nValidadas no backend:\n\n* `MEDICO` permite receitas do tipo `REMEDIO`\n* `FISIOTERAPEUTA` permite receitas do tipo `ATIVIDADE_FISICA`\n* `PSICOLOGO` permite receitas do tipo `ATIVIDADE_MENTAL`\n\n## Ambientes\n\n### Desenvolvimento Local (Vite)\n\nFrontend:\n\n```text\nhttp://localhost:5173\n```\n\n### Desenvolvimento Local (Docker)\n\nFrontend:\n\n```text\nhttp://localhost:3000\n```\n\n### Backend Local\n\n```text\nhttp://localhost:8000\n```\n\nSwagger:\n\n```text\nhttp://localhost:8000/docs\n```\n\n### Produção\n\nFrontend:\n\n```text\nhttps://healthcare-frontend-ie0k.onrender.com\n```\n\nBackend:\n\n```text\nhttps://healthcare-backend-j3sk.onrender.com/\n```\n\n## Configuração do Banco de Dados\n\n### Utilizando Docker Compose\n\nAo executar o Compose pela primeira vez, o PostgreSQL cria automaticamente:\n\n* Usuário: `postgres`\n* Senha: `root`\n* Banco: `healthcare_db`\n* Porta: `5432`\n\nO arquivo `database/schema.sql` é executado automaticamente na criação inicial do volume.\n\n```bash\ndocker compose up --build\n```\n\nObservação:\n\nCaso o volume `postgres_data` já exista, o PostgreSQL não executará novamente os scripts presentes em:\n\n```text\n/docker-entrypoint-initdb.d\n```\n\nNesse caso, recrie o volume ou execute o schema manualmente.\n\n### Utilizando PostgreSQL Local\n\nConfiguração para conexão via pgAdmin:\n\n```text\nHost: localhost\nPorta: 5432\nUsuário: postgres\nSenha: sua_senha_local\nBanco: healthcare_db\n```\n\nApós criar o banco, execute o conteúdo de:\n\n```text\ndatabase/schema.sql\n```\n\n### Configuração do Backend Local\n\nCopie o arquivo de exemplo:\n\n```bash\ncopy backend\\.env.example backend\\.env\n```\n\nEdite o arquivo:\n\n```text\nDATABASE_URL=postgresql://postgres:sua_senha_local@localhost:5432/healthcare_db\n```\n\n## Configuração no Render\n\n### Banco PostgreSQL\n\nO Render fornece duas URLs:\n\n* Internal Database URL → utilizada pelo backend hospedado no Render\n* External Database URL → utilizada por pgAdmin, scripts locais e conexões externas\n\nNo backend hospedado no Render, configure:\n\n```text\nDATABASE_URL=\u003cInternal Database URL\u003e\n```\n\n### Aplicação do Schema\n\nO banco PostgreSQL criado no Render não executa automaticamente o arquivo:\n\n```text\ndatabase/schema.sql\n```\n\nO schema deve ser aplicado manualmente antes da primeira utilização da aplicação.\n\nIsso pode ser feito por:\n\n* pgAdmin\n* psql\n* PSQL Command fornecido pelo próprio Render\n\n### Frontend\n\nConfigure a variável de ambiente:\n\n```text\nVITE_API_URL=https://url-do-backend.onrender.com/api\n```\n\nEssa variável é utilizada durante o processo de build do Vite.\n\n## Executar com Docker\n\n```bash\ndocker compose up --build\n```\n\nServiços disponíveis:\n\n| Serviço    | Endereço                   |\n| ---------- | -------------------------- |\n| Frontend   | http://localhost:3000      |\n| Backend    | http://localhost:8000      |\n| Swagger    | http://localhost:8000/docs |\n| PostgreSQL | localhost:5432             |\n\n## Executar Localmente\n\n### Backend\n\nCriar ambiente virtual:\n\n```bash\ncd backend\npython -m venv .venv\n```\n\nAtivar ambiente:\n\nPowerShell:\n\n```bash\n.venv\\Scripts\\Activate.ps1\n```\n\nGit Bash:\n\n```bash\nsource .venv/Scripts/activate\n```\n\nInstalar dependências:\n\n```bash\npip install -r requirements.txt\n```\n\nExecutar:\n\n```bash\nuvicorn app.main:app --reload\n```\n\n### Frontend\n\n```bash\ncd frontend\nnpm install\nnpm run dev\n```\n\nVariável opcional:\n\n```text\nVITE_API_URL=http://localhost:8000/api\n```\n\n## Principais Rotas\n\n### Profissionais de Saúde\n\n* `GET /api/profissionais-saude`\n* `POST /api/profissionais-saude`\n* `GET /api/profissionais-saude/{id}`\n* `PUT /api/profissionais-saude/{id}`\n* `DELETE /api/profissionais-saude/{id}`\n\n### Pacientes\n\n* `GET /api/pacientes`\n* `POST /api/pacientes`\n* `GET /api/pacientes/{id}`\n* `PUT /api/pacientes/{id}`\n* `DELETE /api/pacientes/{id}`\n\n### Atendimentos\n\n* `GET /api/atendimentos`\n* `POST /api/atendimentos`\n* `GET /api/atendimentos/{id}`\n* `PUT /api/atendimentos/{id}`\n* `DELETE /api/atendimentos/{id}`\n\n### Receitas\n\n* `GET /api/receitas-saude`\n* `POST /api/receitas-saude`\n* `PUT /api/receitas-saude/{id}`\n* `DELETE /api/receitas-saude/{id}`\n\n### Exames\n\n* `GET /api/exames-lab`\n* `POST /api/exames-lab`\n* `PUT /api/exames-lab/{id}`\n* `DELETE /api/exames-lab/{id}`\n\n### Prontuários\n\n* `GET /api/prontuarios`\n* `POST /api/prontuarios`\n* `PUT /api/prontuarios/{id}`\n* `DELETE /api/prontuarios/{id}`\n\n## Validação\n\n### Frontend\n\n```bash\ncd frontend\nnpm run lint\nnpm run build\n```\n\n### Backend\n\n```bash\ncd backend\npython -m compileall app\n```\n\n## CI/CD\n\nO projeto utiliza GitHub Actions para:\n\n* validação do backend\n* validação do frontend\n* build das imagens Docker\n\nO deploy é realizado automaticamente pelo Render quando alterações são enviadas para a branch principal do repositório.\n\n## Status\n\nProjeto em desenvolvimento.\n\n## Licença\n\nProjeto acadêmico desenvolvido exclusivamente para fins educacionais.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnkdwon%2Fhealthcare-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnkdwon%2Fhealthcare-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnkdwon%2Fhealthcare-system/lists"}