Skip to main content

System architecture

This page describes Nadigit IMS component by component: what each one does and how they work together. It is written for system administrators and integrators preparing an installation or an integration. Installation itself is covered in Installation.

Overview​

All components run in Docker containers on a single server. One entry point receives the traffic; nothing else is exposed directly.

Components​

ComponentRoleTechnology
Web consoleThe interface used in the browser, in French, English, Arabic and SpanishAngular
Application services (API)All business logic: stock, sales, purchases, cash registers, finance, reports, financial documents, NadiPilot, integrationsJava, Spring Boot
AuthenticationAccounts, sign-in, passwords, roles; Nadigit IMS-branded sign-in pageKeycloak (OpenID Connect)
Business dataItems, stock, orders, payments, customers, suppliers, settingsPostgreSQL
IdentitiesUsers and roles, kept apart from business dataPostgreSQL
HTTPS entry pointReceives all traffic, encrypts it, routes each request to the right componentNginx, Let's Encrypt or supplied certificates
Documents and licenceInvoices and generated documents, uploaded files, the active licenceServer persistent storage

How a request flows​

  1. The user opens the web console: the browser loads it from the HTTPS entry point.
  2. At sign-in, the console redirects to the authentication service, which checks the username and password and issues a short-lived access token.
  3. Every call from the console to the application services carries that token. The services verify its signature, then the user's roles and the active organization, before answering.
  4. The services read and write business data. Generated documents (invoices, receipts, reports) are kept in persistent storage.

External services​

None is required. Each one is enabled in the settings and only receives what its function needs.

ServiceWhen it is used
Nadigit licence serverActivation with a registration key and online verification. A licence file works without it.
AI providerNadiPilot and invoice extraction, when AI is enabled; a local model (Ollama) keeps data on your network. See Configuration.
Web searchNadiPilot market trends (Enterprise).
E-mail, Telegram, WhatsAppNotifications and alerts.
Online storesE-commerce integration (Enterprise). See E-commerce integration.

Data and organizations​

  • One installation, one business database. Data stays on the server where Nadigit IMS is installed.
  • Organizations (Enterprise). One installation can run several companies. Each organization has its own warehouses, shops, catalog, customers, suppliers, stock, sales, purchases and finance; users are shared across the installation and reach the organizations they are members of. See Security and data protection.
  • Schema changes. On every upgrade, the database is migrated automatically at startup; a migration that fails stops the startup instead of running the application on an inconsistent database.

Multilingual​

The interface is available in French, English, Arabic and Spanish, with right-to-left layout for Arabic. The language of generated documents (invoices, receipts, e-mails) is set separately, per organization. See Document language.

Scalability​

The same architecture serves a business with a single point of sale and a company running several legal entities, warehouses and shops. What changes from one plan to another is the set of features and limits (users, warehouses, shops), not the installation. See Licences and plans.

See also​