Wątek przeniesiony 2016-07-21 11:58 z Algorytmy i struktury danych przez somekind.

Tryb demo dla aplikacji

0

Witam,
potrzebuję zrobić coś w stylu demo w połączeniu z tutorialem dla swojej aplikacji. Chodzi o to, żeby użytkownik wykonał tutorial, ale jego akcje wykonane podczas tutoriala nie mogą być widoczne w całym systemie. Również w trybie demo może sobie chodzi i wszystko robić, ale rezultaty jego akcji nie są widoczne w całości systemu tylko w tym trybie demo. Taki tryb demo jest per użytkownik/połączenie. Pierwszym pomysłem była sesja, ale to jest dużo zmian na backendzie. Drugi pomysł to zrobić jakiś przełącznik/flagę na frontendzie (używam Angulara) i np. zapisywanie stanu w trybie demo w localstorage (tak wiem, że to jest krótkotrwałe i tylko per urządzenie) żadna akcja nie trafia na serwer. Tylko w tym przypadku też nie jest kolorowo bo zachowanie aplikacji nie będzie odwzorowane w 100% (np. problem z webscoketami), można byłoby to obejść jednak to też jest dużo pracy.

Zastanawiam się czy istnieją jakieś gotowe rozwiązania tego problemu czy trzeba kombinować od zera? Może ktoś już robił coś takiego i może jakoś podpowiedzieć. Może da się w angularze zrobić jakiś tryb aplikacji. która będzie inaczej działać/zachowywać się w zależności od wybranego trybu.

0

A może by tak użytkownikowi dodać kolumnę "is_in_demo_mode" ustawioną na true, i na tej podstawie ignorować wszelkie zmiany przez niego wprowadzone, a w przypadku przełączenia sie w normalny tryb - usuwać wszystko co było przez niego ustawione w tym czasie w bazie.

3

Chodzi o to, żeby użytkownik wykonał tutorial, ale jego akcje wykonane podczas tutoriala nie mogą być widoczne w całym systemie.

Daj użytkownikowi osobną aplikację, z osobną testową bazą, i nie dawaj mu żadnych praw do bazy produkcyjnej, tak by nie mógł się z nią połączyć.

0

+1 dla opcji "osobny testowy serwer z testową bazą danych która ma rollback codziennie" ;]

0

I najlepiej miej skrypt w SQL, który tworzy taką testową bazę od 0.

0

Dzięki za podpowiedzi. Rozwiązałem to na poziomie angulara i proxy :)

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