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.
A API foi construída utilizando:
- Node.js: como ambiente de execução do JavaScript no servidor.
- Express: framework para construção de APIs robustas e escaláveis.
- MongoDB: banco de dados NoSQL para armazenamento de dados.
- Mongoose: ORM para modelagem e integração com o MongoDB.
- Nodemailer: envio de emails, como notificações e lembretes.
- JWT (jsonwebtoken): autenticação segura baseada em tokens.
- Swagger: documentação interativa para as rotas da API.
- dotenv: gerenciamento seguro de variáveis de ambiente.
- helmet: melhorias de segurança HTTP.
- express-rate-limit: proteção contra ataques de força bruta.
- Cadastro e autenticação de usuários.
- Gerenciamento de doenças, medicações e eventos de saúde.
- Notificações e lembretes por email usando Nodemailer.
- Suporte a tarefas programadas com node-cron.
- Documentação interativa com Swagger.
- Testes de rotas utilizando Insomnia.
-
Clone o repositório:
git clone https://github.com/FR-macedo/ChronicRelief.git
-
Entre na pasta do projeto:
cd ChronicRelief
-
Instale as dependências:
npm install
-
Configure as variáveis de ambiente: Crie um arquivo
.env
na raiz do projeto e adicione as configurações necessárias. Exemplo:MONGODB_URL=seu_mongodb_url JWT_SECRET=sua_chave_secreta EMAIL_USER=seu_email EMAIL_PASS=sua_senha
-
Inicie o servidor:
- Modo produção:
npm start
- Modo desenvolvimento:
npm run dev
- Modo produção:
-
Acesse a API: A aplicação estará disponível em http://localhost:3000 (ou na porta configurada).
A documentação da API foi feita com Swagger e pode ser acessada localmente:
- Inicie o servidor.
- Acesse: http://localhost:3000/api-docs.
Essa interface interativa permite explorar e testar todas as rotas disponíveis.
- Importe o arquivo de rotas do Insomnia localizado em
tests/insomniaRoutes
. - Abra o Insomnia e importe o arquivo JSON.
- 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).
- Execute os testes para validar as rotas da API.
Se você deseja contribuir:
- Faça um fork do repositório.
- Crie uma branch para sua feature/bugfix:
git checkout -b minha-feature
- Faça as alterações e os commits:
git commit -m "Descrição do que foi alterado"
- Envie um pull request explicando as mudanças.
Este projeto está licenciado sob a GPLv3. Isso significa que você pode:
- Usar, modificar e distribuir o código.
- Mas deve compartilhar quaisquer alterações ou trabalhos derivados sob a mesma licença.
Este projeto só foi possível graças ao suporte de:
- Rope Health: pela oportunidade de aprendizado e desenvolvimento.
- UNINASSAU: pela base acadêmica.
- Porto Digital: pela bolsa e incentivo ao crescimento profissional.
Agradeço também aos professores, colegas e todos que contribuíram para a conclusão deste trabalho.
Sinta-se à vontade para explorar, aprender e contribuir para o ChronicRelief! 🚀