Totally restructure the codebase and implement basic admin panel