E1482. Rewrite Project E1401

Project E1482 includes merging of E1453 and refactoring assignments_controller using a form object. We have made assignments_controller using form object. Please provide your comments
Use snake_case rather than camelCase.