sim3x: в смысле? Ну.... фильтр он и в африке фильтр. Просто форма, датабиндинг все такое, мэпится все на объект-критерию, которая уже в каком-то формате передается в query на сервак, тот его как-то разруливает (есть даже RFC регламентирующая формат для фильтров фасеточного поиска) и отдает JSON коллекцию.... выводим....
То есть тут мы имеем довольно тривиальную форму (или не тривиальную в зависимости от сложности фильтров), но сами понимаете никакого отношения к магазину задача как такавая не имеет. Далее мы имеем объект со всеми параметрами поиска. Далее нам нужен реквест трансформер этого объекта в запрос на сервак. Ну и все.
С карзиной все намного проще. Есть сервис карзины, кладем туда товары.... там запоминаются айдишки и количество в локал сторадж какой или сешен сорадж на ваш вкус иии все. Единственное чего не могу сказать - вопрос с изменениями цены. Скажем добавили вы в карзину товар, а через час цена изменилась (то есть товар все еще в карзине но заказ еще не оформлен). Как быть в таком случае? То есть если бизнес логика магазина отрицает изменение стоимости товара если товар был добавлен в карзину - то у нас проблемка ибо секьюрно это сделать без добавления специфичной логики на бэкэнде не представляется возможным. С другой стороны это настолько специфичный кейс.... обычно только после оформления заказа такое работает.
sim3x: ух... проблема в отсутствии времени... Была у меня мысль сделать для примера что-то типа trello с плюшками (логирование времени, разделение тасков на компоненты, фильтры и поиск) но как-то все заглохло. Хотя фильтрики может выдеру от-туда на неделе ибо может пригодиться в админках. По поводу карзины товаров - тут вообще никак. Было аж две статьи на хабре (так себе к слову статьи) где описывались эти штуки, если подкрепить комментариями можно сделать нормально.
Можно, но смысла нет, в магазине главное это SEO, а spa на это не рассчитаны, конечно можно попытаться его оптимизировать через prerender.io и аналоги, но стоит ли оно того...
На ангуляре пишут только фронтенд. Это вообще не сильно имеет значение. А в магазине главное бекэнд.
А так, офф документация нормальная. Используйте гугл.
Ой да ладно... Если все эти сложности по хранению состояний и т.д. перенести с бэкэнда на фронт (в том числе и админку делать на angular) то на сервере остается красивая и легкая REST API, которую удобно суппортить и все такое.
А в магазинах важен не бэкэнд/фронтэнд а просто важно как все сделано. Что бы ориентировано было на покупателей, что бы покупатель увидел интересующий его товар и в конечном счете купил. А за счет чего это сделано - дело третье.
Будет проблема с индексированием.. Мы делали "костыль", отдавая нужные keywords/description/h1/.. бэкендом, а потом Angular дорисовывал остальную страницу.