Wpis z mikrobloga

ma ktoś jakiś referencyny projekt gdzie niektóre elementy podlegają "kontroli wersji przez moderatora"[u mnie tylko tekst], czyli jeśli użytkownik modyfikuje pewne elementy to wprowadzany jest zapis co zmodyfikował[u mnie wystarczy wersja przed i po], kiedy, kto aby potencjalnie przywrócić poprzednią wersje ale też użyć tego do akceptacji zmian.

Tak aby można było ogarnąć strukturę bazy (może być w czymkowiek, jak będzie tak proste jak Model w np Spring czy innym MVC to wystarczy mi takie coś).

po prostu zastanawiam się czy to będzie coś oczywistego czy może są jakieś specjalne "frameworki" pod to i lepiej od razu się do nich stosować

#programowanie #naukaprogramowania #backend #informatyka
  • 9
@razornfs: nie, chodzi o feature w aplikacji, a nie w sensie kontroli wersji z git xD

Użytkownik A tworzy "przestrzeń"
Do przestrzeni dołączają użytkownicy Z, Y, X
X dostaje prawo od A do submitowania bez jego zgody
Z tworzy notatke "Java > C++" i ją submituje
A akceptuje notatke Z
A, Z, Y, X widzą nową notatkę w przestrzeni w której sa
X zmienia notatkę na "Java < C++" i sam
@NewBlueSky: Trochę słabo wytłumaczyłeś, ale o ile dobrze rozumiem, można to zrobić tak:
Mamy jeden model z notatką, która ma też pole dot. statusu, autora i co tam potrzebujesz. Status może być "oczekuje na akceptację", "aktywny", "wygasłe", "cofnięte" i pewnie jakieś inne typu odrzucone, co tam potrzebujesz. Wyświetlasz tylko aktywny, a przejścia między statusami określasz jakimś przepływem statusu. Ja bym zrobił agregat, który ma metody typu "akceptuj", "przywróć ostatnią wersję", gdzie
@NewBlueSky: Jak DDD jest Ci obce (a nie ma co sobie tym głowy zaprzątać jak jesteś na początku przygody z programowaniem), to zamiast pełnoprawnego agregatu zrób najprostszy serwis który będzie Ci zmieniał status tak jak opisałem, zaprojektuj to tak żeby mieć pewność że nie będziesz mieć jednocześnie 2 instancji tej samej notatki ze statusem "active" i w providerze którym wyciągasz te notatki pamiętaj, żeby wyciągać tylko tą z active i chyba
@Jurix: w zasadzie to prawie mam inzyniera z infy xD ale najwiecej miałem do czynienia z programowaniem pod struktury danych i jakies algorytmy. No i z SI, miałem podejrzanie duzo SI, a na kazdym kursie z SI uczyli nas go od nowa xD

wiec moze sproboje cos wiecej
@NewBlueSky: No czyli jeszcze bardzo dużo nauki przed Tobą, znacznie więcej niż wiesz że nie wiesz :P

Skup się na tym, żeby to działało, done is better than perfect, a z czasem jak nauczysz się rozwiązywać problemy takie jak przez Ciebie opisany, a jakość, jak rozwiązywać problemy zgodnie ze sztuką przyjdzie z czasem.