O AGELGIL Primer Healthy Recipe Hub é uma plataforma amigável que permite que pessoas com uma variedade de demandas dietéticas encontrem, compartilhem e acessem uma extensa biblioteca de ofertas caseiras com recomendações de receitas personalizadas com base em necessidades alimentares individuais e condições de saúde.N
Para executar este projeto, você precisará adicionar as seguintes variáveis de ambiente ao seu arquivo .env em /api/.env..development | produção]
precisa adicionar .env.Development para executar localmente
precisa adicionar .env.production for Production
DATABASE_URL : Esta variável de ambiente armazena a string de conexão no seu banco de dados MongoDB. Por exemplo, isso pode apontar para um cluster do MongoDB atlas (por exemplo, mongodb+srv://<username>:<password>@cluster0.mongodb.net/myDatabase ) ou uma instância local do MongoDB para fins de desenvolvimento.
MONGOMS_SYSTEM_BINARY : Esta variável especifica o caminho para o sistema MongoDB binário (por exemplo, mongod.exe ). É usado principalmente em cenários de teste que requerem o MongoDB, principalmente ao usar versões como o MongoDB v6.0.9 .
APP_PORT : o número da porta no qual seu aplicativo será executado. Por exemplo, em um ambiente local, isso pode ser definido como 3000 para um aplicativo Node.js ou qualquer outro número da porta, dependendo da configuração do servidor.
REDIS_URL : a sequência de conexão para o seu servidor Redis. Redis é normalmente usado para armazenamento em cache e funcionalidade em tempo real. Por exemplo, redis://localhost:6379 para uma instância local ou redis://<username>:<password>@redis.cloudprovider.com:6379 Para um serviço Redis baseado em nuvem.
USER_SECRET , MODERATOR_SECRET , CONTROLLER_SECRET : estes são as chaves secretas JWT (JSON Web Token) usadas para assinar e verificar tokens para diferentes funções em seu aplicativo. Cada função (usuário, moderador e controlador) tem seu próprio segredo para segurança.
USER_REfRESH_SECRET , MODERATOR_REfRESH_SECRET , CONTROLLER_REfRESH_SECRET : Esses segredos são usados especificamente para gerar tokens de atualização, que permitem que os usuários obtenham novos tokens de acesso sem renovar.
CALORIENINJAS_API_KEY : esta chave permite o acesso à API Calorieninjas
CIPHERIV_SECRET_KEY : uma chave usada para criptografar e descriptografar links compartilháveis sensíveis
SHAREABLE_LINK_BASE_URL : Esta variável define o URL base usado para gerar links compartilháveis em seu aplicativo (por exemplo, http://myapp.com/page?id=1 )
DATASAX_ASTRA_TOKEN : o token usado para autenticar com o banco de dados DataStax Astra. DATASAX_ASTRA_DB_NAME : o nome do banco de dados que você está usando no DataStax Astra. DATASAX_ASTRA_API_Endpoint : o endpoint da API para se comunicar com DataStax Astra (por exemplo, https://<database-id>-<region>.apps.astra.datastax.com ).
NEO4J_URL : o URL de conexão com sua instância de banco de dados NEO4J. Normalmente segue o bolt:// protocolo (por exemplo, bolt://localhost:7687 para uma instância local). NEO4J_USER : o nome de usuário usado para autenticação neo4j. NEO4J_PASSWORD : a senha usada para autenticação neo4j. NEO4J_DATABASE : o nome do banco de dados específico usado no neo4J.
Clone o projeto
git clone https://github.com/kaleabteweld/Agelgil-primer-healthy-recipe-hub-backendVá para o diretório do projeto
cd Agelgil-primer-healthy-recipe-hub-backendInstalar dependências
npm installInicie o servidor de desenvolvimento (definirá o Node_env para o desenvolvimento)
npm run devPara executar testes, execute o seguinte comando
npm run test