Skip to main content

Dashboard tour

The dashboard is where operators live: apps, credentials, audience, campaigns, reports, team. It is a server-rendered Next.js app; nothing here is fetched from the browser, and no secret is ever sent to it. Set it up with Dashboard setup.

UI language

The dashboard's interface is in Turkish. These pages name each control with its on-screen label in italics next to the English meaning, so you can follow along either way.

Signing in

Login

Members sign in with e-mail + password. The e-mail field left empty falls back to the bootstrap password (ADMIN_PASSWORD_HASH) — only while no member accounts exist yet.

Layout

The app overview with the sidebar

AreaWhat it is
Sidebar, topThe current app (App) with a link back to the app list.
Sidebar, sectionsOverview, Campaigns, Users, Subscriptions, and for admins Credentials and Settings.
Sidebar, bottomWho you are, your role, Sign out.
BreadcrumbsUygulamalar › App › Section.

Outside an app, the sidebar shows the organisation-level pages: Apps, Members, Audit log.

Sections

SectionPagePurpose
AppsAppsCreate tenants, see them at a glance, get the one-time API keys.
OverviewApps › OverviewActive subscribers by platform, last 7 days of deliveries, 30-day audience growth, recent campaigns.
CredentialsCredentialsUpload the APNs key, FCM service account, generate/configure VAPID. Test each connection.
CampaignsCampaignsThe four-step wizard, the list with statuses, cancel scheduled sends.
ReportCampaign reportFunnel, hourly series, platform split, A/B table, failure and skip reasons, CSV export.
UsersUsersSearch by external id or tag, open a person with all their devices and recent events.
SubscriptionsSubscriptionsDevice-level list with filters; side panel with the last 10 events.
SettingsAPI keys, Delivery rules, WebhooksKeys with scopes, frequency cap + quiet hours, signed webhook endpoints.
MembersMembersInvite links, roles, app scoping, disable/remove.
Audit logAudit logEvery mutation made from the panel, by whom.

Roles

RoleSeesCan
ownereverythingeverything, including managing other owners
admineverythingeverything except owners: apps, credentials, keys, members
editoroverview, campaigns, users, subscriptionssend campaigns, edit users
vieweroverview, campaigns, users, subscriptionsread only

A member can additionally be scoped to a list of apps; pages for other apps answer 404 for them. Role checks run in server actions, not just in the UI — a hand-crafted request is refused the same way.

Conventions you will notice everywhere

  • Lists page by cursor, newest first. There is no "page 37"; use the filters.
  • Secrets are shown once. API keys, webhook secrets and invite links appear in a dialog exactly once. Afterwards a key is only recognisable by its last four characters.
  • Nothing sensitive comes back. The credentials page shows "configured, last updated" — never the .p8 or the private key.
  • Dates are shown in your browser's timezone; the API stores UTC.