ale uprzedzam, że zabezpieczyłem ją lekko przed kopiowaniem z niej treści (Nie oddam ich bez walki :D)
tu jest cały html: view-source:https://mrmietek.pl/
a tu CSS, nawet bez minifikacji: https://mrmietek.pl/style.css
to by było tyle jeśli chodzi o zabezpieczanie danych w sieci :) Pamiętaj, że aby zobaczyć stronę user musi ją pobrać do siebie i w response http przesyłasz cały html i css, więc o jakim ukrywaniu mówimy :)
A co do oceny to moim zdaniem strona ma jedną, olbrzymią wadę - po co od razu ładujesz userowi 100% informacji? Już sama lista tych grzybków powinna być doczytywana wraz ze scrollem ale oki, to jeszcze można wybaczyć, ale już nie jest wybaczalne to, że na starcie ładujesz kontekst wszystkich grzybów... ich opisy... po co?
Załaduj listę, wyświetl ją, a po kliknięciu w jakiś grzyb pok prostu zrób strzał ajaxem i pobierz sobie dane o tym grzybku. W takiej najprostszej postaci to widziałbym to jako wystawienie jakiegoś małego endpointu typu GET, który przyjmowałby np. id grzybka i na tej podstawie z jakieś tabelki po prostu zwracał dane. W takim przypadku wydaje mi się też, że dobrze sprawdziłaby się najprostsza baza np. mongo gdzie od razu posługujesz się ładnie JSONem, a jak dodasz sobie endpoint w node to w ogóle nie musisz uczyć się dodatkowego języka.
Cała strona jaką wyrzucasz do klienta to 13,2mb... chyba nie obrobiłeś w ogóle obrazków :) Warto zawsze spojrzeć w zakładkę network i przebadać co faktycznie wysyłamy do clienta.