update components
change project directives and move functions to controller, optimize project display
update readme