code-corps / code-corps/code-corps-api

Implement basic task matcher module

Open
#736 2 comments 0 reactions 1 assignee Claimed by @ignu View on GitHub
Difficulty: Easy good first issue hacktoberfest in progress needs estimate
Dominant language
Elixir
Stars
234
Forks
82
PR merge metrics
No merged PRs in 30d

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`

```Elixir
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

# References

- taken from #668

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.