massive refactor frontend into frontend(js) + assets + styles