Я просматривал посты о Play! framework
и наткнулся на несколько постов, в которых обсуждалось ecommerce
. Так как я новичок в обоих, я подумал о выполнении упражнения. Я записал некоторые варианты использования и некоторые требования, как показано ниже. Я хотел бы услышать ваше мнение об этом, надеясь, что это может расширить мою техническую мудрость.
Некоторые требования к корзине для покупок на веб-странице:
1. Пользователь может добавлять товары в корзину даже без входа на сайт.
2. Пользователю необходимо войти в систему после того, как он нажмет на checkout link
.
3. Страница деталей товара будет содержать кнопку addtocart
, только если этого товара еще нет в корзине.
4.Строка подробностей будет содержать minicartview
с указанием наименований товаров в корзине и общей цены.
Я кодировал ShoppingCart
, как показано ниже. Его можно получить из базы данных, используя User
.
@Entity
class ShoppingCart{
...
@OneToOne
public User user;
}
Некоторые возможные сценарии, которые я рассмотрел.
1.Пользователь уже вошел в систему, когда заходит на страницу Itemdetails.
Это кажется простым, я могу получить корзину из БД, используя зарегистрированного пользователя.
User user = User.find("byEmail", Security.connected()).first();
cart = ShoppingCart.find("byUser",user);
...
2.В данный момент пользователь не вошел в систему.
Это то, что беспокоит меня. Как с этим справиться? Как я могу показать minicartview
здесь на странице Itemdetails
? Где я должен хранить корзину? Кэш нестабилен и ему нельзя доверять. Как еще я должен хранить корзина? Я не могу хранить в БД, пока пользователь не войдет в систему.
Если кто-то может прояснить ситуацию с этим сценарием, он может сильно мне помочь.