Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Weekly emails with available tasks based on user interest #558

Open
alexanmtz opened this issue Mar 24, 2020 · 6 comments
Open

Weekly emails with available tasks based on user interest #558

alexanmtz opened this issue Mar 24, 2020 · 6 comments
Labels
enhancement hiring Issues that can help you to solve hiring challenges medium Difficulty medium node.js Taks that requires node.js knowledge
Projects
Milestone

Comments

@alexanmtz
Copy link
Member

Send a Cronjob that will match users with emails.

It depends on #554

Why

We will have a basic recommendation system to send issues based on user interest

Level

Medium

Useful links

Tips

Use the label and user preferences to send to an existing templating (or copying) of a collection of issues, as we have for other purposes

@alexanmtz alexanmtz added enhancement node.js Taks that requires node.js knowledge medium Difficulty medium hiring Issues that can help you to solve hiring challenges labels Mar 24, 2020
@alexanmtz alexanmtz added this to the v1.7-apollo milestone Mar 24, 2020
@alexanmtz alexanmtz added this to To do in Gitpay via automation Mar 24, 2020
@khoded
Copy link
Contributor

khoded commented May 28, 2020

Hi I'm interested in working on this issue

@alexanmtz
Copy link
Member Author

you're now assigned to this issue @khoded 👍

@alexanmtz alexanmtz assigned khoded and unassigned Adekoreday May 29, 2020
@alexanmtz
Copy link
Member Author

alexanmtz commented May 29, 2020 via email

@khoded
Copy link
Contributor

khoded commented Jun 4, 2020

Hey I have thought about implementing this feature, and I think it can be done this way

  1. in the cron.js file fetch all tasks where assigned is null, status is open, limit to 5
  2. send the task to an async function in mail/task.js
  3. fetch all users in the async function in mail/task.js, map the necessary data to mailList and subjectData.
  4. in the map function compare task.Labels array and user.skills string for a match using regexp.test to return a bool, if there is match prepare and push the templateData to return withTemplate() else return false to cease execution.
  5. set the cron job to run weekly.
    note: is sendgrip api key available for testing the emails ?

@alexanmtz
Copy link
Member Author

Sounds great @khoded 👍

Please join our slack channel or mail me at [email protected] and I can send you the development keys for Sendgrid

@khoded
Copy link
Contributor

khoded commented Jun 5, 2020

Alright

@khoded khoded mentioned this issue Jun 13, 2020
@alexanmtz alexanmtz removed this from the v1.7-apollo milestone Dec 15, 2020
@alexanmtz alexanmtz added this to the v2.0 milestone May 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement hiring Issues that can help you to solve hiring challenges medium Difficulty medium node.js Taks that requires node.js knowledge
Projects
Gitpay
  
To do
Development

Successfully merging a pull request may close this issue.

3 participants