clean core code
fix not null but don't have default value
clean up controllers
clean up view files
finish featuer
Merge branch 'feature/cleaning' into develop