Projekt sklepu internetowego - stworzenie koszyka

0

Siemanko, zdecydowałem się poprosić o pomoc ponieważ zaczynam pracę nad swoim pierwszym projektem. Chcę stworzyć prosty sklep internetowy, zacząłem od tworzenia planu funkcjonalności, zaplanowania encji mam nadzieję, że to ułatwi mi proces pisania.
Mam problem z utworzeniem koszyka z produktami, jakie klasy i pola są potrzebne oraz dlaczego. Nie chciałbym skopiować po prostu gotowego kodu z internetu którego sensu dokładnie nie rozumiem ponieważ mija się to z celem. Będę ogromnie wdzięczny za jakąkolwiek pomoc ;)

1

A masz już jakiś wstępny pomysł?

0

Nie robiłem nigdy projektu dotyczącego sklepu internetowego. Wydaje mi się, że coś takiego (mowa o koszyku) łatwiej by było zrobić na froncie. No ale jak chcesz to w javie to na szybko widzę to tak:

  • koszyk jako oddzielna encja
  • sam w sobie trzyma listę produktów
  • relacja 1 do wielu z produktami (lista produktów), relacja z użytkownikiem 1:1. Pytanie co jeśli użytkownik niezalogowany? ( :) )
  • metody dodawania do/ usuwania z koszyka
  • czyszczenie koszyka po zakończeniu operacji kupowania
  • dochodzi kwestia zamodelowania Twoich produktów tak, aby każdy dziedziczył po "Product", co pozwoli Ci na łatwiejsze operacje koszykowe (zapewne też operacje kupowania).

W tagach masz #jsp. Dobrze, że dopiero planujesz więc możesz zaoszczędzić masę czasu na starcie. Polecam nie dotykać w ogóle tej technologii.
Najpierw ogarnij swój projekt od strony javowej, a dopiero potem baw się frontem. Nawet jak nie masz zrobione strony wizualnej, to swój kod javowy możesz sprawdzac Postmanem.
Jak już to skończysz to front zrób w czymś zupełnie innym, czytaj: angular / react/ czysty js.

0

Jeśli chodzi o funkcjonalności całego sklepu to mniej więcej tak. Rejestracja/logowanie użytkowników oraz edycja danych, panel administratora do zarządzania produktami oraz użytkownikami, dział produktów z kategoriami, lista produktów z możliwością dodania produktu do koszyka, sam koszyk z lista produktów oraz informacjami o nim, podsumowanie zamówienia oraz jego realizacja.
Nie mam pomysłu jak zająć się koszykiem. Jakie potrzebne są do niego klasy, co w nich musze zawrzeć oraz jak zapalonować relacje do inncyh klas np. produktu oraz klienta.

0

Podejdź do tego iteracyjnie, tzn. w ramach implementowania nowych funkcji rozszerzaj swój model. Razem z rozszerzaniem swojego sklepu będziesz uczył się tej domeny i naturalnie wszystko samo wyjdzie - będziesz potrzebował dostęp do listy produktów - dodasz sobie listę produktów. A może będziesz potrzebował tylko ich ID, żeby resztę sobie dociągnąć z innej encji - to wszystko wyjdzie Ci na podstawie założeń, jakie sobie przyjmiesz. Reasumując - nie myśl bazą danych, myśl przypadkami użycia Twojego modelu. Alternatywnie - załóż coś na start, a potem sobie najwyżej zmienisz - nikt Ci nie zabroni zrobić refactoringu, aby urealnić model (w rzeczywistości nie byłoby to takie proste, ale Ty się uczysz, a nie wdrażasz tego na proda).

Podobno nie ma czegoś takiego jak "zły model" - jest tylko "model bezużyteczny" :)

0

Chciałbym korzystać z formularzy Springa. Jsp używać do prostego widoku i sprawdzania czy funkcjonalnośći/dane wyświetlają sie tak jak chcę (np. sprawdzenie Validacji danych przy formularzu). Frontem i estetyką chciałbym zająć sie na samym koncu gdy już ogarnę działanie wszystkiego i myślałem o użyciu Bootstrapa lub Bulmy.

Co do sytuacji gdy użytkownik nie jest zalogowany, myslałem nad możliwościa złożenia zamówienia również bez konieczności zakładania konta, wtedy wszystkie dane będzie trzeba podawać za każdym razem w formularzu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1