## All APP - hardcoded keys for LocalStorage (should be declared as constants in separate file) - don't use OnPush Strategy in components. Good practice to use it, better performance as a result - code needs to be formatted, in some places is hard to read; - app dont have 1 centralized place for storing app data, and as a result pretty much duplicated code. NgRx (aka redux) solve this problem. but it requires rewriting all application. - components should be splitted in smaller parts, that can be reuses and code became more readable ### core `footer.component.scss` - fonts should be loaded in root SCSS file `header.component.ts` - duplicated code parts from app.component.ts `http-requests.service.ts` - better to use interceptors for handling token management (don't need to create extra HTTP methods) ### app.component `app.component.ts` - setMetaTags method better to move to service; `app.component.html` - Sidenav menu should be moved as separate component; keep html clean ### admin-user `member-settings` - overloaded component, should be slpitted on logical parts ### components `reset-password.component.ts` - httpRequestsService.httpPost('recovery/reset-password/check' should be moved to Auth service ### events `event-details.component.ts` - fetchEventData() - all filter & sorting should be done inside eventsService `event-list` - overloaded component. should be splitted on logical parts; ### members `member-list` - overloaded component. should be splitted on logical parts