Witajcie, chcę napisać webaplikację do generowania CV z rzeczywistym podglądem. Webaplikacja ma mieć możliwość logowania, rejestracji (JWT) a klientem ma być Angular. Reasumując springboot będzie wystawiał rest api, a klient Angular będzie je obsługiwał. Jednak zastanawiam się nad zaprojektowaniem.
-
Szablony do cv (html) mam trzymać po stronie serwera i jak użytkownik w kliencie wybierze szablon X, to serwer wysyła ten szablon w formie HTML, a następnie jest wrzucany w kliencie do jakiegoś diva - chodzi o rzeczywisty podgląd. Następnie użytkownik po kliknięciu Generuj wysyła jedynie dane z formularzy do serwera, który je odpowiednio wrzuca w szablon.
-
Trzymać szablony po stronie klienta i je tam generować, a wtedy springboot tylko trzyma dane takie jak: konta użytkowników i zapisane cv w bazie.
-
Trzymać szablony po stronie klienta, a po kliknięciu Generuj wysyła cały rzeczywisty podgląd (blok kodu HTML - z wstawionymi przez użytkownika danymi) do serwera.
Wg mnie opcja nr 1 jest bardziej skalowalna i bezpieczna - jak będę chciał napisać klienta na telefony to nie zduplikuje kodu i będzie jednolitość zachowana dzięki mieleniu przez serwer. Druga opcja: Jak będę chciał napisać klienta na telefon to nie będzie takiej jednolitości - narobię się jak wół.
Trzecia opcja: troszkę mniej bezpieczna, bo po stronie klienta można zmienić html - wtedy musiałbym po stronie serwera sporo walidować.
Baza danych będzie więc zawierać konta użytkowników oraz dane zapisanych cv.
Generowanie CV to po prostu jakaś biblioteka, która tworzy PDF na podstawie html.
Zaznaczę, że to jedynie moje przemyślenia i mogę być w błędzie. Jesteście doświadczeni więc za wszelkie porady, wytknięcię błędów w myśleniu, zupełnie inne opcje bardzo dziękuję.