graph TB
A(prepare) --> B[ui / ux building] --> C((ui/ux review))
C --> D{design accepted}
D --> |yes| DBM[database management]
DBM --> DBP{database review}
DBP --> |accept| E[backend development]
E --> F((backend stagging))
F --> G[QA code review] --> H{code accepted}
H --> |yes| I[devOps testing]
I --> J{testing accepted}
J --> |yes| K[frontend development]
K --> L((frontend stagging))
L ---> M[QA code review] --> N{code accpeted}
N --> |yes| O[devOps testing]
O --> P{testing accepted}
P --> |yes| Q[deploy preview]
Q --> R[deployment preview & testing]
R --> S{deployment accepted}
S --> yes --> T(deploy production)
S --> no --> Q
P --> |no| L
N --> |no| L
J--> |no| E
H --> |no| E
DBP --> |decline| DBM
D --> |no| B
graph TB
START(start) --> VISIT
VISIT{visit} --> AUTH{check auth}
AUTH --> signed --> HOME[home page]
HOME --> EVENTS[voting events]
EVENTS --> EVENT[voting event page]
EVENT --> VOTE[voting page]
VOTE --> EVENTTIME{check event duration}
EVENTTIME --> |time out| RESULT --> END
EVENTTIME --> |progressing| ESTIMATE --> EVENTTIME
AUTH --> signed --> ADMIN
TYPE{choose candidate type solo/couple}
ADMIN --> ADD[add candidates] --> TYPE
TYPE --> SOLO[insert candidate] --> EVENT
ADMIN --> EDIT[edit candidates] --> TYPE
TYPE --> UPDATE[update data]
UPDATE --> EVENT
ADMIN --> REMOVE[remove candidates] --> TYPE
TYPE --> UPDATE[update data]
UPDATE --> EVENT
AUTH --> unsigned --> LOGIN{login page}
LOGIN --> HA{has account}
HA --> yes --> LOGIN
HA --> no --> REGISTER[register page] --> LOGIN
LOGIN --> AUTH
END(end)