Open Mercato

Open Mercato

AI‑supportive, modular ERP foundation for product & service companies

Welcome to Your Open Mercato Installation

This is a customizable start page for your fresh Open Mercato installation. Choose your role below to get started and explore the features available to you.

Default Password

The default password for all demo accounts is secret. To change passwords, use the CLI command: yarn mercato auth set-password --email <email> --password <newPassword>Demo account emails are printed in the terminal output during yarn initialize.

Choose Your Role

Super Admin

Full system access with complete control

Available Features:
  • •Manage organization structure
  • •Create and manage roles
  • •Manage all users across organizations
  • •System-wide configuration
  • •Access to all modules and features
Login as Super Admin

Admin

Organization-level administration

Available Features:
  • •Admin specific organization(s)
  • •Manage users within organization
  • •Configure organization settings
  • •Access to admin modules
  • •Report and analytics access
Login as Admin

Employee

Work on your daily tasks

Available Features:
  • •Work on assigned tasks
  • •Access organization resources
  • •Collaborate with team members
  • •View personal dashboard
  • •Submit reports and updates
Login as Employee

API resources

Explore the official documentation and download the generated OpenAPI exports for this installation.

Current API base URL: https://trainmaxr.pboj.smallhost.pl/api

Database Status
Status: Connected
Users:3
Tenants:1
Organizations:1
Active Modules
Authentication & Accountsv0.1.0
User accounts, sessions, roles and password resets.
FE:3BE:11API:36i18n:4
Directory (Tenants & Organizations)v0.1.0
Multi-tenant directory with tenants and organizations.
BE:7API:13i18n:4
Configurationv0.1.0
Shared configuration storage and helpers for module settings.
BE:3API:8i18n:4
Custom Entities & Fieldsv0.1.0
User-defined entities, custom fields, and dynamic records storage.
BE:9API:19i18n:4
Query Indexesv0.1.0
Hybrid query layer with full-text and vector search capabilities.
BE:1API:3i18n:4
API Documentation
Auto-generated documentation for all HTTP endpoints.
FE:1BE:1API:1
Audit & Action Logsv0.1.0
Tracks user actions and data accesses with undo support scaffolding.
BE:1API:5i18n:4
Notificationsv0.1.0
In-app notifications with module-extensible types and actions.
BE:1API:13i18n:4
Admin Dashboardsv0.1.0
Configurable admin dashboard with module-provided widgets.
API:10i18n:4
Events
Event bus and subscriber dispatch
API:2
Attachmentsv0.1.0
File attachments and media management.
BE:2API:14i18n:4
Customer Identity & Portal Authenticationv0.1.0
Customer-facing authentication with two-tier identity model and full RBAC.
BE:7API:50i18n:4
Customer Portalv0.1.0
Self-service customer portal framework with login, signup, dashboard, sidebar navigation, and extensible widget system.
FE:7i18n:4
Feature Togglesv0.1.0
Global feature flags with tenant-level overrides.
BE:5API:12i18n:4
Clubsv0.1.0
Club-as-tenant layer: club settings, the club_admin role, and operator club provisioning. Teams and team-scoped domain arrive in a later slice.
BE:5API:18i18n:1
Teamsv0.1.0
Team-as-container-with-staff layer: teams as directory orgs with sport/age-group profiles, per-team coach/coordinator assignments, and the invite-vs-assign onboarding split. Players and rosters arrive in a later slice.
BE:3API:7i18n:1
Playersv0.1.0
The persistent player-identity layer: coach-managed profiles with encrypted personal data, derived minor status, anonymized departure archival, and request-only deletion. Rosters, guests, and player accounts arrive in later slices.
API:6i18n:1
Rostersv0.1.0
The team↔player membership layer: per-team roster attributes, retained membership history, within-club transfers with an optional transition window, and the in-club guest-candidate picker. Cross-club transfers and the event editor arrive in later slices.
BE:1API:10i18n:1
Sessions and matchesv0.1.0
The training-session / match event occurrence (PRD 5.3.1): per-team scheduling with match detail, weekly recurring trainings materialized as rows, cancellation-is-not-deletion with the workload-exclusion contract, and the single-match delegated coach. The calendar grid, notifications, sync, results, and reservations are later slices.
BE:1API:12i18n:1
Attendance trackingv0.1.0
Coach-recorded attendance per session/match (PRD 5.4.1): one record per player per session over the session team's roster at session time, attached to the persistent player profile, with an encrypted absence reason, one-off in-club guest participants with per-event home-team consent, and phase-2 self-report fields present but unused. Workload/fatigue/reporting reads are later slices.
BE:1API:10i18n:1
Match data entryv0.1.0
Coach-entered post-match protocol (PRD 5.5.1): one stat line per player per match (goals, assists, cards, minutes played, a derived match role) over the match team's roster plus guests, and a shared per-match timeline of minute-stamped goals and substitutions that live tagging pre-fills. Attached to the persistent player profile; matches only; derived statistics are a later slice.
BE:1API:9i18n:1
Health monitoringv0.1.0
Coach-entered periodic health checks with a mandatory encrypted test-result file, fitness/PHV/somatic measurement series, derived expiry highlighting, and the expired/expiring compliance list. Player/guardian entry, the medical-staff role, and expiry reminders arrive in later slices.
BE:1API:8i18n:1
Cross-club transfersv0.1.0
The single sanctioned exception to per-club isolation: a two-party, consent-gated inter-club transfer agreement (mirrored per tenant), a single-record time-boxed scoped read grant, and the secure decrypt-under-source / re-encrypt-under-destination handover of one player profile. Admin-only on both sides, fully audited.
BE:1API:8i18n:1
Calendar and schedulingv0.1.0
The calendar layer over the sessions occurrence (PRD 5.3.2 + 5.3.4): the editable day-by-team schedule grid with week/month views, the view-only club-wide calendar, and the one-way ICS export. No new store - every write goes through the sessions routes.
BE:2API:3i18n:1
Training content tallyv0.1.0
Per-session training-content tagging and its derived statistics (PRD 5.4.2-5.4.4): the club-wide category/goal taxonomy and behavior catalogue, two-level (goal then behavior) tagging of training sessions, the per-session and cumulative percentage split, the priority-derived required split, per-round plan targets with the drift alert, and the element-vs-fatigue correlation contract (compute deferred to the workload slice).
BE:2API:27i18n:1
Facility reservationsv0.1.0
Coordinator-owned pitch + locker-room reservations over the club-wide facility inventory (PRD 5.3.7), the match → reservation attachment that supplies a home match its location, and the derived auto locker-room schedule (PRD 5.3.8). Double-booking is flagged with a click-through confirm, never blocked.
BE:2API:5i18n:1
User profilev0.1.0
Optional self-service personal profile (photo URL, coaching license {number, expiry}, phone, bio) as custom fields on auth:user, plus the read-only staff-compliance list over coaching-license expiry. Every field optional; nothing gates on completeness.
BE:2API:3i18n:1
Surveys and RPEv0.1.0
Post-session RPE and wellness surveys (PRD 5.5.2-5.5.6): a club default RPE survey and per-team wellness surveys built from a question bank plus custom fields, one RPE response (with an in-survey per-exercise breakdown) and one wellness response per player per session over the session team's roster, per-survey capture mode (self-report / coach-panel / hybrid, first-write-wins), a combined roll-call writing the attendance record in the same pass, a no-login kiosk, and a minors' consent gate. sRPE/workload aggregation and the completion alert are later slices.
BE:3API:11i18n:1
AI training plansv0.1.0
AI-assisted training-plan generation (PRD 5.8.1): a coach prompt plus the club game model, the tiered training-method library, an optional academy-model corpus, and the derived coach training history feed a pluggable generator into an editable, retained session outline that is never auto-applied.
BE:4API:14i18n:1
Session notificationsv0.1.0
In-app schedule notifications (PRD 5.3.3) over the sessions occurrence: create/change notices (actor-suppressed), a cancellation notice carrying the optional reason and withdrawing the pending reminder, a per-club-lead-time reminder scan, and the once-per-team-week weekly report. Delivery reuses the OM notifications module behind an injectable channel so the phase-2 push slice swaps the transport without touching this one.
i18n:1
Competition and resultsv0.1.0
The own-team match result (PRD 5.3.5): at most one result per match — an outcome (win/loss/draw from the own team's perspective) with an optional own/opponent score, recorded and corrected by staff after the match. The opponent name is reused from the scheduled match, a training session or cancelled match takes no result, and the derived W/L/D record, standings, and result notifications are later slices.
BE:1API:3i18n:1
Statistics and analyticsv0.1.0
The first derived read surface (PRD 5.2.1-5.2.2): individual, team, and coach-defined-group statistics computed live over the input layer (post-match stat lines, the shared match timeline, attendance, match results, the training-content tally) and never stored. The only stored thing is the per-team player-group definition. Clean sheets and goals-conceded are interval-accurate over on-pitch intervals; team-only tagged metrics (shots/tackles/fouls) stay with the live-tagging companion; workload/fatigue and the season window are later slices.
BE:2API:10i18n:1
Workload and fatigue monitoringv0.1.0
Derived load and fatigue layer over the input slices (PRD 5.2.3-5.2.8, 5.1.5): sRPE workload with the light/moderate/heavy microcycle classification, the trailing-7-day Live fatigue indicator, the rolling EWMA fatigue model with a forecast, the cross-team red/orange list, the load-spike, RPE-completion, and end-of-microcycle alerts, and the per-team threshold configuration (the only stored data).
BE:3API:7i18n:1
Reporting and filteringv0.1.0
The reporting layer (PRD 5.9): a period + specific-statistic filter surface over the statistics-and-analytics computed reads (default period = the current season), the three-tier season window (app default Jul 20 - Jun 30, club override, team override; nearest wins, absence inherits) resolved by one shared primitive that also drives period-based rules such as the 5.2.6 minimum match-minutes window, and the Academy compare-teams KPI table. The only stored thing is the per-team season override row - every report is computed on read, never persisted.
BE:3API:8i18n:1
Player and guardian portalv0.1.0
Phase-2 self-service portal for player and guardian accounts (PRD 5.4.1, 5.5.5, 5.3.3): own-scope schedule, self-marked attendance and self-reported RPE/wellness over the reserved source/actor fields, club-controlled portal visibility of statistics and match views, guardian-on-behalf access to linked minors until legal age, and in-app portal reminders. Identity rides the OM customer_accounts stack; onboarding stays coach-initiated (auth spec).
FE:1BE:2API:18i18n:1
Push notificationsv0.1.0
Phase-2 mobile push transport (PRD 04, 5.3.3) for the notifications the session_notifications and player_guardian_portal slices already produce: a per-user device registry, a coarse in-app/both channel preference, and injectable FCM/APNs/Expo transports. Delivery plugs into the sessionNotificationsChannel DI seam (in-app stays the system of record) and the portal reminder hook - no producer changes, no new notification kind. First-party stand-in for the OM devices + channel-{fcm,apns,expo} subsystem that is absent in 0.6.7.
BE:1API:5i18n:1
Data archival and retentionv0.1.0
The cross-cutting player archival/retention/deletion lifecycle (PRD 5.6): a purge cascade over every per-player domain, an eligibility-gated deletion-request ledger (player at/above the club legal age, else guardian), and a retention sweep that purges anonymized records older than the club archivedRetentionYears window (null = indefinite) while backstopping the players.player.{archived,deleted} event cascade.
BE:1API:4i18n:1
Lineups and positioningv0.1.0
Coach's pre-event pitch-positioning tool (PRD 5.1.4): a per-session/match lineup of positioned players (starter with a pitch coordinate, bench substitute without), savable and correctable, reusable as a per-team template, attached to the persistent player profile, with the accepted advisory pre-selection flag reading the Live fatigue band (5.2.4) and health-check expiry (5.7.1) — computed live, never stored, never blocking.
BE:1API:7i18n:1
Quick Links
Built with Next.js, MikroORM, and Awilix — modular by design.