Writing smart algorithm
Merge branch 'develop' into naive_algorithm

Conflicts:
	apps/public/models.py
fixed available_part_types
Merge branch 'naive_algorithm' into develop