Open
Description
Problem
From #668 we need a very basic task matcher module.
We would require a module, for example, UserTaskMatcher
with a &match_user/2
defmodule CodeCorps.UserTaskMatcher do
@default_task_count
def match_user(%CodeCorps.User{} = user, task_count // @default_task_count) do
get_list_of_tasks_with_most_overlapping_skills(tasks_count)
end
defp get_list_of_tasks_with_most_overlapping_skills(amount) do
# implementation goes here. probably a simple query initially
# join user skills and tasks skills, group and count by task, order by count
# limit the number of results to amount
end
end
Subtasks
- write described module
- write tests for it