.gitignore added
ProjectFactory added
All of the controller logic successfully move to the ProjectFactory