Skip to content

Service architecture

Overview

Sigabill is an application deployed as SaaS (Software as a Service).

The architecture relies on the interaction of three key services:

  1. Azure AD B2C (Identity): This is the security guardian. It handles user authentication and issues the tokens necessary to communicate with our APIs.
  2. Tenant Manager (Routing): This service is responsible for managing tenants. A tenant contains a company's data. This service allows retrieving the list of companies a user has access to and provides the necessary information to target the correct data environment.
  3. Sigabill API (Core): The main invoicing service. It is available in two versions:
    • Production: The official, most up-to-date version for real operations.
    • Beta: A bleeding-edge version allowing testing of new features before their general deployment.

Development Environments

Development is available across three isolated environments:
- devtest: environment for development.
- staging: pre-production and deployment environment for automated tests and fix verification.
- production: where customer data lives.

Routing Architecture

Service endpoints follow this pattern:

https://[ServiceName][-env].siga.net/[TenantCode]

where:
- ServiceName: name of the deployed SaaS service
- -env: replace with the environment name, omitted for production
- TenantCode: replace with the tenant code (company) for services whose data is multi-tenant (separated per company)

Under the base path of a service, you will find:

https://sigabill-devtest.siga.net/
├── /                       → Angular frontend
├── /api/*                  → Backend API
├── /api-documentation/*    → Swagger UI
└── /docs/*                 → User documentation