Aplikacja spring data jpa do tworzenia ogłoszeń, z gotowym zestawem pytań dotyczącym danej kategorii ogłoszenia

0

Hej, próbuję napisać aplikację w spring boot jpa, w której tworzy się ogłoszenia. Ogłoszenia tworzyłoby się za pomocą zadawania pytań, na które użytkownik może odpowiedzieć, mając do dyspozycji kilka gotowych odpowiedzi. Ogłoszenia mają wspólne cechy takie jak tytuł, lista zdjęć, zawartość tekstowa ogłoszenia, a to co je różni to kategoria i pytania tj. różna ilość pytań i odpowiedzi na nie. W tej chwili staram się osiągnąć ten efekt tworząc klasę ogłoszenia które będzie zawierała relacje jeden do wielu z klasą pytania, natomiast klasa pytania będzie zawierała relację jeden do wielu z odpowiedziami. Czy takie podejście ma sens? Następnym problemem jest tworzenie dto. Mój pomysł obecnie to abstrakcyjna klasa dto zawierająca wspólne cechy i dziedziczące je podklasy zawierające różną ilość pytań. Również nie jestem pewien czy to dobre podejście. Ostatnim problemem na obecną chwilę jest sposób zapisywania ogłoszeń do różnych kategorii. Czy należałoby zrobić osobny controller/serwis/repo dla każdej kategorii zawierającej różną ilość pytań czy obsługiwać to za pomocą jednej struktury?

1

Pomyśl, w jaki sposób przygotować model, aby obsłużyć np. dodawanie zdjęć albo listę wielokrotnego wyboru.

Side note: Do podnoszenia takiego ogłoszenia z bazy JPA może nie być najlepszym wyborem, lepiej SQL albo nawet jakaś dokumentowa baza.

0

Dzięki za podpowiedź. Czy mógłbyś podpowiedzieć która baza dokumentowa byłaby odpowiednia? (jak na razie wygooglowałem, że chodzi o "nosql") A co do dodawania zdjęć, to wydaje mi się, że należałoby stworzyć klasę zdjęcie, powiązać je z klasą użytkownik za pomocą relacji jeden do wielu (np. mapa), a następnie stworzyć serwis obsługujący dodawanie zdjęć do użytkownika. Podobnie z listą wielokrotnego wyboru tj. utworzyć klasę pytanie, powiązać ją z ogłoszeniem za pomocą mapy i stworzyć serwis dodający pytania. Nie miałem jeszcze styczności z bazą dokumentową ale przy modelowaniu obiektowym zrobiłbym właśnie w taki sposób. Czy takie podejście ma sens?

1

Zdjęcie to prędzej z ogłoszeniem, a nie użytkownikiem. Chyba nie będziesz wyszukiwał wszystkich zdjęć danego usera? :) To jest jakiś projekt do szkoły?

Odnośnie baz - możesz zainteresować się np. MongoDB, ale nie wiem czy to nie będzie poza zakresem tego, co masz zrobić ;)

0

Tak masz racje, chodziło mi o powiązanie zdjęcia z ogłoszeniem. To jest projekt który ma służyć za naukę, albo żeby mieć co pokazać przy staraniu się o pracę. Dzięki, poczytam o MongoDB. A co proponowałbyś jeśli nie MongoDB, aby było wystarczające?

1

Na początek, to na luzie jakiś Postgres albo MySQL. W NoSQL pewne rzeczy działają nieco inaczej, niektóre nie działają w ogóle. Skupiłbym się na relacyjnych bazach danych i poćwiczył ten stos technologiczny. Nie bierz się za wszystko naraz.

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