{"id":22809189,"url":"https://github.com/fr-macedo/chronicrelief","last_synced_at":"2026-02-08T08:02:08.930Z","repository":{"id":258008104,"uuid":"866291835","full_name":"FR-macedo/ChronicRelief","owner":"FR-macedo","description":"Desenvolvemos uma aplicação voltada para o tratamento de doenças crônicas em Express/Node para a residência do Porto Digital no segundo semestre de 2024.","archived":false,"fork":false,"pushed_at":"2024-10-24T18:40:06.000Z","size":3557,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-24T19:07:47.330Z","etag":null,"topics":["backend","expresss-js","healh","javascript","js","monitoring"],"latest_commit_sha":null,"homepage":"","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/FR-macedo.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":"2024-10-02T01:31:20.000Z","updated_at":"2024-10-24T18:40:09.000Z","dependencies_parsed_at":"2024-10-17T09:10:28.971Z","dependency_job_id":"e5c2f7fb-c7f2-4c20-b8e7-f8cd3fd78d69","html_url":"https://github.com/FR-macedo/ChronicRelief","commit_stats":null,"previous_names":["fr-macedo/chronicrelief"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FR-macedo%2FChronicRelief","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FR-macedo%2FChronicRelief/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FR-macedo%2FChronicRelief/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FR-macedo%2FChronicRelief/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FR-macedo","download_url":"https://codeload.github.com/FR-macedo/ChronicRelief/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250247328,"owners_count":21399059,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["backend","expresss-js","healh","javascript","js","monitoring"],"created_at":"2024-12-12T11:14:00.419Z","updated_at":"2026-02-08T08:02:03.882Z","avatar_url":"https://github.com/FR-macedo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ChronicRelief\n\n**ChronicRelief** é uma API desenvolvida para a aquisição de métricas e auto-monitoramento de pessoas com doenças crônicas. Este projeto foi criado como parte da Residência em Desenvolvimento de Software na **Rope Health**, no semestre 2024.2, através da faculdade **UNINASSAU**, com bolsa fornecida pelo **Porto Digital**.\n\n## Tecnologias Utilizadas\n\nA API foi construída utilizando:\n\n- **Node.js**: como ambiente de execução do JavaScript no servidor.\n- **Express**: framework para construção de APIs robustas e escaláveis.\n- **MongoDB**: banco de dados NoSQL para armazenamento de dados.\n- **Mongoose**: ORM para modelagem e integração com o MongoDB.\n- **Nodemailer**: envio de emails, como notificações e lembretes.\n- **JWT (jsonwebtoken)**: autenticação segura baseada em tokens.\n- **Swagger**: documentação interativa para as rotas da API.\n- **dotenv**: gerenciamento seguro de variáveis de ambiente.\n- **helmet**: melhorias de segurança HTTP.\n- **express-rate-limit**: proteção contra ataques de força bruta.\n\n## Funcionalidades\n\n- Cadastro e autenticação de usuários.\n- Gerenciamento de doenças, medicações e eventos de saúde.\n- Notificações e lembretes por email usando **Nodemailer**.\n- Suporte a tarefas programadas com **node-cron**.\n- Documentação interativa com **Swagger**.\n- Testes de rotas utilizando **Insomnia**.\n\n---\n\n## Como Utilizar a API\n\n### Instalação\n\n1. **Clone o repositório**:\n   ```bash\n   git clone https://github.com/FR-macedo/ChronicRelief.git\n   ```\n2. **Entre na pasta do projeto**:\n   ```bash\n   cd ChronicRelief\n   ```\n3. **Instale as dependências**:\n   ```bash\n   npm install\n   ```\n\n4. **Configure as variáveis de ambiente**:\n   Crie um arquivo `.env` na raiz do projeto e adicione as configurações necessárias. Exemplo:\n   ```env\n   MONGODB_URL=seu_mongodb_url\n   JWT_SECRET=sua_chave_secreta\n   EMAIL_USER=seu_email\n   EMAIL_PASS=sua_senha\n   ```\n\n5. **Inicie o servidor**:\n   - Modo produção:\n     ```bash\n     npm start\n     ```\n   - Modo desenvolvimento:\n     ```bash\n     npm run dev\n     ```\n\n6. **Acesse a API**:\n   A aplicação estará disponível em [http://localhost:3000](http://localhost:3000) (ou na porta configurada).\n\n---\n\n## Documentação da API\n\nA documentação da API foi feita com **Swagger** e pode ser acessada localmente:\n\n1. Inicie o servidor.\n2. Acesse: [http://localhost:3000/api-docs](http://localhost:3000/api-docs).\n\nEssa interface interativa permite explorar e testar todas as rotas disponíveis.\n\n---\n\n## Testes com Insomnia\n\n1. Importe o arquivo de rotas do Insomnia localizado em `tests/insomniaRoutes`.\n2. Abra o **Insomnia** e importe o arquivo JSON.\n3. Certifique-se de configurar as variáveis de ambiente do Insomnia para usar os dados corretos (como a URL base da API e os tokens de autenticação, se necessário).\n4. Execute os testes para validar as rotas da API.\n\n---\n\n## Contribuindo para o Projeto\n\nSe você deseja contribuir:\n\n1. **Faça um fork do repositório**.\n2. **Crie uma branch** para sua feature/bugfix:\n   ```bash\n   git checkout -b minha-feature\n   ```\n3. **Faça as alterações e os commits**:\n   ```bash\n   git commit -m \"Descrição do que foi alterado\"\n   ```\n4. **Envie um pull request** explicando as mudanças.\n\n---\n\n## Licença\n\nEste projeto está licenciado sob a [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html). Isso significa que você pode:\n\n- Usar, modificar e distribuir o código.\n- Mas deve compartilhar quaisquer alterações ou trabalhos derivados sob a mesma licença.\n\n---\n\n## Agradecimentos\n\nEste projeto só foi possível graças ao suporte de:\n\n- **Rope Health**: pela oportunidade de aprendizado e desenvolvimento.\n- **UNINASSAU**: pela base acadêmica.\n- **Porto Digital**: pela bolsa e incentivo ao crescimento profissional.\n\nAgradeço também aos professores, colegas e todos que contribuíram para a conclusão deste trabalho.\n\n---\n\nSinta-se à vontade para explorar, aprender e contribuir para o **ChronicRelief**! 🚀","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffr-macedo%2Fchronicrelief","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffr-macedo%2Fchronicrelief","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffr-macedo%2Fchronicrelief/lists"}