feat: add loading protection + add Groups controller, template, route #3