feat: basic angular frontend