Skip to content

Platform

This page combines the public-safe architecture guidance currently used across the Snabplus repository.

Production-first data platform

Default runtime model

  • Snabzhenets+ runs as one shared production platform.
  • One client portal equals one tenant workspace inside a shared PostgreSQL database.
  • Tenant isolation is enforced through tenantId, tenant-scoped queries, and service-level access checks.
  • Separate databases per portal are not the default deployment model.

What is provisioned for a new portal

When a new portal is created, the platform:

  • creates a tenant
  • creates the first admin user
  • assigns base system roles
  • optionally seeds default units
  • returns portal and admin metadata

Production safety expectations

  • Business entities remain tenant-scoped by tenantId.
  • Cross-tenant links between users, suppliers, invoices, procurements, files, and other records must be rejected.
  • Portal APIs stay tenant-scoped by default, including for super_admin, unless a route is explicitly platform-level.
  • Production health should cover more than connectivity:
    • database status
    • latest applied migration
    • database size
    • backup freshness

Backend guardrails

  • tenantId is server-owned and must never be accepted from DTO payloads.
  • Tenant-bound IDs such as supplierId, procurementId, requestId, catalogItemId, unitId, and primaryFileId must be validated inside the active tenant before write operations.
  • New backend work must be designed for the shared server runtime, not for a localhost-only workflow.

Platform API

Internal portal provisioning API:

  • GET /api/v1/platform/portals
  • POST /api/v1/platform/portals

Access is restricted to platform-level administrators.

Public root SEO guidelines

Main objective

The public root https://snabplus.com/ is the main SEO entrypoint of the service. It should describe the product clearly for procurement and supply teams, stay indexable, and present well in social previews.

Main page SEO rules

  • Use a clear commercial title focused on the product and category.
  • Keep the main description readable for business users, not developers.
  • Mention the core value proposition directly:
    • procurement requests
    • purchasing workflow
    • suppliers
    • invoices
    • nomenclature
    • status control
  • Keep the canonical URL fixed to https://snabplus.com/.
  • Maintain valid Open Graph and Twitter metadata.
  • Expose structured data describing Snabplus as a software service.

Indexing rules

  • robots.txt must allow indexing of /.
  • sitemap.xml must include the public main page.
  • /app, /register, /login, and /secretinfo-serv-data-health must not be treated as public landing pages.
  • Protected tenant pages are runtime application pages, not SEO landing pages.

Snabplus public documentation portal.