Tryb demo dla aplikacji

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

KO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 137
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.

  • Rejestracja: dni
  • Ostatnio: dni
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.

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
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ć.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

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

Sarrus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2512
0

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

KO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 137
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.