본문으로 건너뛰기

홈

콘솔의 첫 페이지, 세 개의 탭입니다. Overview는 얼마나 들어오는지, 무엇이 움직였는지, 무엇이 사람을 필요로 하는지를 읽으며, 모든 숫자는 최근 14일을 그 이전 14일과 비교합니다. Reviews는 두 번째 눈을 기다리는 플래그 변경을 담습니다. Needs you는 실패했거나 대기 중인 워크플로 실행을 주의가 필요한 플래그와 나란히, 항목마다 카드 하나로 모으고, 사이드바의 Home 항목은 이 두 탭이 담고 있는 수를 셉니다.

The Home screen in the Live environment
The Home screen, Live environment.
The Home screen in the Live environment, dark theme
The Home screen, Live environment.

Three tabs

Overview는 오늘의 첫 페이지입니다: 지표 띠, Top movers, Event volume, Anomalies. Reviews는 예전에 별도 페이지였던 검토 받은편지함으로, 프로젝트의 플래그 변경 요청을 상태로 거르고 검색하며, 각 요청은 그리드 옆에 열립니다. 이전 주소 /reviews는 여기로 전달됩니다. Needs you는 사람이 처리해야 할 모든 것을 항목마다 카드 하나로 나열합니다. 탭 행은 Reviews와 Needs you에 개수를 달고, 사이드바의 Home 항목은 그 합계를 달아, 페이지를 열기 전에 레일이 얼마나 기다리고 있는지 말해 줍니다. 주소는 탭을 ?tab=로 지니므로 링크는 이름 붙인 탭에 도착합니다.

The metrics band

Two totals for the last fourteen days: events received and the people they came from. A project with nothing in the window shows an explanation rather than zeros, and a failed load says it failed rather than reading as a quiet account.

Needs you

사람이 처리해야 할 모든 것을 항목마다 카드 하나로: 실패한 워크플로 실행, 신호를 기다리는 실행, 최근 아무것도 평가하지 않은 플래그, 의도가 선언한 수명을 넘긴 플래그. 실패한 실행은 오류 색조를 띠고, 나머지 셋은 결함이 아니라 읽는 사람에게 보내는 요청입니다. 각 카드는 종류를 칩으로 나타내고, 사실을 한 줄에 적으며, 자기만의 출구를 지닙니다: 이름 붙인 실행이나 플래그 열기, 워크플로 다시 실행하기, 대기 중인 실행이 기다리는 신호 보내기, 끝난 플래그 보관하기. 탭의 개수는 전체 목록이므로 스크롤되는 목록도 얼마나 담고 있는지 말해 줍니다. 경계를 넘은 감시 중인 인사이트는 다섯 번째 종류인 임계값으로, 카드는 인사이트, 경계, 그리고 매일 확인이 읽은 값을 이름 붙이고, 넘은 띠와 함께 인사이트를 엽니다.

Top movers

The events whose counts moved most against the preceding window of equal length: the last fourteen days against the fourteen before them. Each row shows the current count and a signed delta, so a spike and a collapse are equally visible.

Event volume

Ingest volume across the window as a chart, with empty days drawn as empty rather than skipped: a project that went quiet for a week looks quiet, not compressed.

Anomalies

One event at a time, chosen in the panel's picker and opening on the project's busiest: a bar per day across the fourteen-day window, so the baseline is visible rather than asserted. A day whose count left that baseline is tinted and dated, and a row beneath marks it ▲ or ▼ and names the count against the baseline it left. A fortnight that held its line still draws the band and says so.

The account menu

The account menu open from the sidebar foot: the company group over the accounts group
The account menu: companies first, then accounts.
The account menu open from the sidebar foot: the company group over the accounts group, dark theme
The account menu: companies first, then accounts.

Your avatar at the foot of the sidebar opens the account menu. Under your name and email, the first group is your companies: every prodantix company this sign-in belongs to, the name over your role in it (Owner, Admin, Billing or Member), with a check on the one the console is scoped to. Choose another and the row shows a spinner while the console asks your sign-in to scope to that company, then reloads: the re-drawn console is the confirmation, and there is no toast. A switch that failed says so under the row, with Retry. When your sign-in is too old to switch with, the row reads Your sign-in is out of date and offers Sign in again, which signs you in afresh and brings you back to the page you were on. One company held still draws its row with the check, so you can see which company scopes everything the menu names below it. The group offers no create and no manage row: you join an existing company by invitation (User management), never from here. On the wire the group is myCompanies (GraphQL reference); a switch is a session call that carries your own sign-in, so it is not part of the GraphQL API.

A sign-in whose token names no prodantix company, which happens when the Bomdisoft ID joined another product's company first, does not land in an empty console. The page body is replaced by one card, Choose a company, with the sidebar staying in place around it. The card lists the same rows as the menu with every gutter empty, since nothing is active yet, and nothing is chosen on your behalf: a member of one company still sees one row and picks it. Choosing scopes the sign-in to that company and reloads the console. A card whose list could not be read draws Retry where the rows would be.

A sign-in that belongs to no prodantix company at all meets Set up your company in the same place, with the sidebar faded around it and a note in the sidebar saying that projects, analytics and messages live in a company. When you own an organisation in another Bomdisoft product, a switch offers Use one you own, which turns the organisation you pick into your prodantix company, or Create a new one. Using one brings only you in: nobody else in that organisation joins prodantix. With nothing to use, the card asks for a Company name straight away. Either way you name the company's first project under First project name and press Create once; the console shows that project's keys, and Continue opens Home in the new company. When your organisations could not be checked, the switch stays with Use one you own unavailable and Create a new one selected, over the line Could not check for organisations you already own. and a Try again. A company that was made but is not ready yet says so and finishes on the next Create, and an organisation that already has a prodantix company asks you to get an invitation from its owner. Joining somebody else's company is still by invitation, and the card says so under Create.

Below the divider, the accounts group: the prodantix accounts this sign-in holds, each by its name, or numbered and marked unnamed when it has none, with the current one checked. Picking another switches the same way, a spinner on the row and the console reloading on that account, with the reason inline and Retry if it failed. A suspended account carries a Suspended chip and cannot be opened.

The rows after the groups leave the console: Manage account opens your Bomdisoft account in a new tab, where profile, security and devices live for every Bomdisoft product; Billing opens the shared billing site the same way; Sign out ends the session.

Where this meets the API

The concept behind the numbers is the Analytics pillar. On the wire, every panel is a read: the metrics band, movers and volume are runQuery aggregations, the anomalies strip pairs runQuery with aiInsights (a z-score over the same daily counts, no model call), Needs you joins flags with workflow runs, and the Reviews tab reads flagChangeRequests, answered through approveFlagChange and rejectFlagChange, or taken back by the requester through withdrawFlagChange (GraphQL reference). The events being counted arrive through the ingest edge (Ingestion), and Needs you stays current between reloads by listening to flag and workflow run changes (Realtime events).