Refactoring project_assignement and add demo and tests