{"id":20513590,"url":"https://github.com/nstseek/healthmed","last_synced_at":"2026-04-14T05:31:12.480Z","repository":{"id":121321383,"uuid":"343306178","full_name":"nstseek/healthmed","owner":"nstseek","description":"Aplicação de teste local para cadastro de pacientes de uma clínica","archived":false,"fork":false,"pushed_at":"2021-03-14T05:45:14.000Z","size":831,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-05T23:14:04.552Z","etag":null,"topics":["enzyme","eslint","firebase","github-actions","jest","localstorage","npm","react","react-hooks","react-router-dom","sass","scss","stylelint","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/nstseek.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}},"created_at":"2021-03-01T05:56:00.000Z","updated_at":"2023-10-31T23:20:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"d1d64d15-8b48-42f2-a6a8-662e268e6132","html_url":"https://github.com/nstseek/healthmed","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/nstseek/healthmed","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nstseek%2Fhealthmed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nstseek%2Fhealthmed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nstseek%2Fhealthmed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nstseek%2Fhealthmed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nstseek","download_url":"https://codeload.github.com/nstseek/healthmed/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nstseek%2Fhealthmed/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31784251,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["enzyme","eslint","firebase","github-actions","jest","localstorage","npm","react","react-hooks","react-router-dom","sass","scss","stylelint","typescript"],"created_at":"2024-11-15T21:12:01.099Z","updated_at":"2026-04-14T05:31:12.465Z","avatar_url":"https://github.com/nstseek.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Healthmed - Controle de pacientes\n\n[![CI/CD](https://github.com/nstseek/healthmed/actions/workflows/firebase-hosting-merge.yml/badge.svg?branch=master)](https://github.com/nstseek/healthmed/actions/workflows/firebase-hosting-merge.yml)\n\nEssa aplicação foi desenvolvida para completar o teste técnico proposto para a vaga de desenvolvedor front-end. Você pode visualizar a aplicação funcionando em [https://healthmed-client.web.app/](https://healthmed-client.web.app/). Você também pode visualizar o estado das builds e deploys de cada commit visualizando o histórico de commits [aqui](https://github.com/nstseek/healthmed/commits/master) ou vendo o estado dos workflows do repositório [aqui](hhttps://github.com/nstseek/healthmed/actions).\n\n## Tecnologias\n\nEsse projeto foi desenvolvido utilizando algumas das mais recentes tecnologias como React (com Hooks e Context API), TypeScript, Jest, Enzyme, SCSS e algumas outras bibliotecas de minha autoria, como [@nstseek/react-forms](https://www.npmjs.com/package/@nstseek/react-forms) e [@nstseek/react-ui](https://www.npmjs.com/package/@nstseek/react-ui).\n\n## Documentação\n\nO projeto possui uma cobertura de documentação razoável utilizando [JSDOC](https://jsdoc.app/) em cada componente e interface relevante da aplicação. Caso a sua IDE suporte, basta você passar o mouse sobre um componente e verá uma descrição a respeito do mesmo, explicando qual o propósito daquele componente/variável/interface. Segue um exemplo no link abaixo para demonstrar a funcionalidade funcionando no Visual Studio Code\n\n![JSDOC example](src/assets/Screenshot_1.png?raw=true 'JSDOC example')\n\nCaso a sua IDE não suporte a notação [JSDOC](https://jsdoc.app/), basta ler o comentário sobre a declaração do componente/váriavel/interface. A documentação foi escrita em inglês por costume próprio e porque a aplicação está disponível no meu perfil do GitHub, o qual é voltado mais pra área internacional(inglês) do que nacional(português).\n\n## Continuous Integration and Continuous Deployment (CI/CD)\n\nUm [processo de CI/CD simples](https://github.com/nstseek/healthmed/actions/workflows/firebase-hosting-merge.yml) foi implementado nesse projeto utilizando as Actions do GitHub. Toda vez que algum commit é adicionado a master, o projeto passa por sua bateria de testes, é buildado e deployado no GitHub Pages, podendo ser visualizado no [endereço mencionado acima](https://github.com/nstseek/healthmed/actions).\n\n## Testes\n\nA cobertura de testes unitários está razoável, me faltou tempo para desenvolver testes melhores. Como é um projeto que servirá apenas como teste técnico, não vejo necessidade de cobrir o projeto inteiro com testes unitários de qualidade pois demandaria tempo que não tenho disponível e o benefício não valeria a pena.\nO resultado dos testes de cada commit é publicado utilizando o GitHub Actions logo após rodarem, como você pode ver [aqui](https://github.com/nstseek/healthmed/runs/2003339433?check_suite_focus=true).\n\n## Flow de trabalho\n\nO projeto possui uma série de filtros para garantir a qualidade do código criado, como [linters](https://eslint.org/), [formatters](https://prettier.io/) e [testes unitários](https://jestjs.io/en/) com [framework específico](https://enzymejs.github.io/enzyme/) que rodam toda vez que o desenvolvedor tenta realizar o push para o repositório através dos git hooks. Esse projeto utiliza o pacote [husky](https://www.npmjs.com/package/husky) que torna muito simples a configuração de git hooks em qualquer repositório Git. Toda vez que o desenvolvedor tenta realizar o push, o script [npm run check](https://github.com/nstseek/healthmed/blob/8962279f2a57b3b93217a91c272f035834f387c0/package.json#L50) [roda antes que o push seja efetuado](https://github.com/nstseek/healthmed/blob/8962279f2a57b3b93217a91c272f035834f387c0/package.json#L74), garantindo que o código que está sendo enviado passa em todos os testes e builda corretamente.\n\n## Scripts disponíveis\n\n### npm start\n\nInicia o projeto na sua máquina local.\n\n### npm run build\n\nCria um build do projeto para ser servido.\n\n### npm run eject\n\nEjeta toda a articulação do create-react-app que não é totalmente visível/manipulável para o desenvolvedor final.\n\n### npm test\n\nExecuta todos os testes unitários do projeto.\n\n### npm run test:watch\n\nExecuta todos os testes unitários do projeto em modo de observação.\n\n### npm run test:report\n\nExecuta todos os testes unitários do projeto e gera um report para ser publicado com o GitHub Actions.\n\n### npm run prettier\n\nExecuta o [formatter](https://prettier.io/) instalado no projeto para verificar os arquivos existentes.\n\n### npm run prettier:fix\n\nExecuta o [formatter](https://prettier.io/) instalado no projeto para corrigir os erros nos arquivos existentes.\n\n### npm run lint\n\nExecuta o [linter](https://eslint.org/) instalado no projeto para verificar os arquivos existentes.\n\n### npm run lint:fix\n\nExecuta o [linter](https://eslint.org/) instalado no projeto para corrigir os erros nos arquivos existentes.\n\n### npm run check\n\nExecuta uma verificação completa no projeto, incluindo o linter, formatter, os testes unitários e o build.\n\n### npm run check:ci\n\nExecuta uma verificação completa no projeto destinada para um ambiente CI, incluindo o linter, formatter, os testes unitários (gerando um report para publicação) e o build.\n\n### npm run check:fix\n\nExecuta uma verificação completa no projeto, incluindo o linter, formatter, os testes unitários e o build, corrigindo os erros passíveis de correção automática com o linter e o formatter.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnstseek%2Fhealthmed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnstseek%2Fhealthmed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnstseek%2Fhealthmed/lists"}