Środowisko do tworzenia obiektów i symulacji ich zachowań (3D)

0

Jako projekt dla szkoły chciałbym stworzyć środowisko, w którym można tworzyć obiekty 3D, na przykład (dom, samochód, drzewo) na wcześniej utworzonej scenie. W utworzonym obiekcie będzie można aktywować jego funkcję, np. Samochód będzie mógł jeździć na scenie. W projekcie chce użyć istniejących wzorców projektowych / architektonicznych i nierelacyjnej bazy danych. Wszystko, to chciałbym zrobić w technologiach webowych, żeby się ich jednocześnie pouczyć. Pomyślałem, że zrobię wszystko w babylon / three.js i wrzucę to w electron.js + połączenie z mongodb. Chciałbym, żeby było to konkretnie rozbudowane tak żeby jak najwięcej się przy tym nauczyć. Czy sposób w jakim chce to wykonać jest OK? Czy są jakieś technologie na których lepiej bazować i które bardziej się przydadzą? Czy może lepiej jakoś to rozbić na front/back? Chce wykonać to jak najbardziej elegancko i profesjonalnie jak tylko się da, za wszystkie sugestie i propozycje bardzo bardzo dziękuje! :)

title

0

Nie rozumiem, czemu się martwisz MongoDB czy inną bazą, jak największą trudność będziesz miał pewnie przy samym robieniu 3D - mniejszą, jeśli już robiłeś coś w 3D / z użyciem wspomnianych bibliotek Babylon, Three.js, albo większą, jeśli w ogóle nic nie robiłeś w 3D - ale mimo wszystko - naklepać coś w MongoDB, a stworzyć mini-edytorek do 3D (jak rozumiem) z animacjami itp. - to jednak myślę, że to drugie może być bardziej wymagającym problemem.

W projekcie chce użyć istniejących wzorców projektowych / architektonicznych i nierelacyjnej bazy danych. (...) Chciałbym, żeby było to konkretnie rozbudowane tak żeby jak najwięcej się przy tym nauczyć. (...) Chce wykonać to jak najbardziej elegancko i profesjonalnie jak tylko się da, z

To się nie kompiluje XD Profesjonalizm polega m.in. na doboru narzędzi do problemu, a ty już na wstępie wybierasz sobie, że będzie nierelacyjna baza danych "bo tak". i chcesz na siłę ` użyć istniejących wzorców projektowych / architektonicznych".

Piszesz, że chcesz zrobić to elegancko, ale elegancja polega na prostocie, a nie na tym, żeby zakładać, że użyjemy "istniejących wzorców projektowych / architektonicznych" (skąd wiesz, że w ogóle będą ci potrzebne?) czy na tym, żeby było to konkretnie rozbudowane tak żeby jak najwięcej się przy tym nauczyć.. Elegancja i nauka to są trochę sprzeczne cele xD

Tym niemniej jeśli twoim głównym celem jest nauka nierelacyjnej bazy danych, czy nauka "istniejących wzorców projektowych / architektonicznych", a projekt to tylko pretekst do nauki, to takie podejście może być uzasadnione. Tylko że wtedy powinieneś zrezygnować z ambicji zrobienia czegoś profesjonalnie i elegancko, bo to jeszcze nie ten etap. Ciężko zrobić coś elegancko używając MongoDB, jeśli będziesz uczył się korzystania z Mongo na żywca. Ciężko zrobić elegancko taką mini-apkę 3D jeśli wcześniej nie robiłeś podobnej, ciężko użyć elegancko danego wzorca projektowego (oraz wiedzieć, kiedy go nie używać), jeśli dopiero go poznałeś i się po prostu bawisz(=uczysz).

Czy może lepiej jakoś to rozbić na front/back?

Frontend nie powinien wiedzieć, jaka jest baza danych, czy zapisujesz to do Mongo czy do pliku JSON albo na Google Drive... Kod odpowiedzialny za GUI powinien być odpowiedzialny za GUI, a jak potrzebny jest zapis danych albo pociągnięcie skądś, to powinien to przekazywać do oddzielnej warstwy w aplikacji, która by się kontaktowała z bazą.

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