brighter-trading/markdown/App.md

2.5 KiB

App Flow Charts

App

@startuml
start
        :Create BrighterTrades object;
        :configuration app;
        :run app;
stop
@enduml

/index

@startuml
start
        :Log in user;
        :Load dynamic data;
        :Render Landing Page;
stop
@enduml

/ws

@startuml
start
        repeat
        :Listen for message;
        if (Contains json?) then (yse)
            :Process_received_json();
        else (no)
            :Display_message();
        endif
        repeatwhile()
@enduml

/settings

@startuml
start
        if (Logged in?) then (no)
            :redirect -> "/index";
            stop
        else (yes)
            :get_setting();
            :process_command();
            :redirect -> "/index";
stop
@enduml

/history

@startuml
start
        if (Logged in?) then (no)
            :Return empty data;
            stop
        else (yes)
            :Get current chart view details.;
            :Request price history for the chart view.;
            :Return data;
stop
@enduml

/signup

@startuml
    start
        :Return rendered signup page.;    
    stop
@enduml

/signout

@startuml
    start
        :Logout user.;    
        :Delete client session var.;
        :redirect -> /index;    
    stop
@enduml

/login

@startuml
    start
        :Get credentials;    
        :Log in user.;
        if (success) then (yes)
            :Set the client session var;
        else (no)
        endif
        :Redirect -> /index;    
    stop
@enduml

/signup_submit

@startuml

start

:Receive form data;
:Extract email, username, and password;
:Validate email format;
if (Valid email format?) then (yes)
  :Validate username and password;
  if (Valid username and password?) then (yes)
    :Create new user;
    if (Success) then (yes)
      :Set session user;
      :Redirect to homepage;
    else (no)
      :Flash error message;
    endif
  else (no)
    :Flash error message;
  endif
else (no)
  :Flash error message;
endif

stop

@enduml

/indictor_init

@startuml
start

if (Check if username is provided) then (yes)
  :Retrieve username from request data;
else (no)
  :Return error response;
  stop
endif

if (Check if user is logged in) then (yes)
  :Retrieve chart view for the user;
else (no)
  :Return error response;
  stop
endif

:Retrieve indicator data for the user;
:Return data response;
stop

@endum