General Workflow
The flow below is derived from the real route structure (dashboard/src/routes/browserRouter.tsx, requireAuth.tsx, roleAccess.tsx) and the service layer; it contains no invented components or steps.
flowchart TD
A[User opens the site] --> B{Is there a session?<br/>Redux admin state}
B -- No --> L[Login page /login]
L -->|Username + password submitted<br/>POST /login| C{Backend<br/>validated?}
C -- No --> L
C -- Yes --> D[Token + user info<br/>written to Redux + localStorage]
B -- Yes --> E
D --> E[Platforms /platform]
E --> F{Is the user's<br/>role 'user'?}
F -- Yes --> E
F -- No / other roles --> G[Notes /notlar]
F -- No / other roles --> H[Settings /ayarlar]
G --> G1[Create / edit / delete a note]
G1 --> G2[Add a reminder time]
G2 --> G3{Has the reminder<br/>become due?}
G3 -- Yes --> G4[In-app notification<br/>DueReminderDialog]
G --> G5[Send the note by email<br/>Mail Box flow]
H --> H1[Add / update / delete a platform module]
H --> H2[Edit and save module display order]
E --> I[Click a module card]
I --> J[Navigate to its address<br/>in-app or a new tab]
E -.-> K{Did any request<br/>return 401 / 403?}
G -.-> K
H -.-> K
K -- Yes --> M[Automatic logout<br/>session data cleared]
M --> L
Step-by-step summary
- Login: the user logs in from
/loginwith a username and password (POST /login). After three failed attempts, a 30-second login lockout kicks in. On success, the token and user info are written to both Redux andlocalStorage, and the user is redirected to/platform. - Home screen (Platforms): every user, regardless of role, sees the platform modules and can click a card to navigate to its address (in-app or a new tab).
- Role check: users with the
userrole stay on Platforms only; every other role (or an empty role field) can also reach the Notes and Settings pages. - Note and reminder cycle: on the Notes page, notes are created/edited/deleted and reminder times are added; due reminders are surfaced automatically via an in-app dialog while the app is open. Notes can also be shared by email via the "Mail Box" flow.
- Administration (Settings): authorized roles can add and edit platform modules and save their display order (manually or via an automatic rule).
- Session ending: if the backend returns
401/403on any request, the app automatically logs out, clears legacylocalStoragefields, and redirects the user back to/login.
For field/action-level detail on every screen in this flow, see Pages; for which backend endpoint each step calls, see API Documentation.