Back to projects

TPMS Expertic

Terminal Payment Management System for requests, inventory, banks, clients, and service operations across bank employee and account manager roles.

InternalTPE operations management platform / 2025

Problem

Expertic needed one place to coordinate interventions, consumables, network checks, deblocking, installations, replacements, stock movement, and dead stock with traceability and role-aware access.

Solution

Build a multi-role web platform with a Next.js dashboard, NestJS API, and Prisma/PostgreSQL model. The backend enforces JWT auth, CASL permissions, validation, notifications, uploads, and role-scoped APIs.

Key Features

Role-based dashboards for bank employees and account managers
Ticket workflows for interventions, consumables, network checks, and deblocking orders
TPE catalog, terminal model, bank, client, consumable, and dead stock management
JWT authentication, CASL authorization, route guards, validation, and role-scoped APIs
SSE notifications, email templates, attachments, and Excel template import/export
Searchable/filterable tables, reusable modals, settings pages, and unsaved-change protection

Architecture Map

Mermaid
flowchart LR
  Bank["Bank employee workspace"] --> Front["Next.js role dashboard"]
  Manager["Account manager workspace"] --> Front
  Front -->|"Axios REST + cookie JWT"| Api["NestJS API"]
  Api --> Guards["JWT guard, role guard, CASL policies"]
  Guards --> Modules["Role scoped API modules"]
  Modules --> Tickets["Ticket workflows: intervention, consumable, network check, deblocking"]
  Modules --> Operations["TPE stock, banks, clients, terminal models, dead stock"]
  Api --> Prisma["Prisma service"]
  Prisma --> Db[("PostgreSQL")]
  Api --> Notify["SSE notifications"]
  Api --> Mail["Email templates"]
  Api --> Files["Attachments + Excel import/export"]

TPMS Screenshots

11 views
Account manager request dashboard with ticket filters, Excel import/export, and new request entry point.
Multi-type request modal for intervention, consumable, network choice, and deblocking workflows.
Bank management surface with search, status filtering, KPI cards, and bank creation.
Create bank modal split into bank information, sub-accounts, and terminal model assignment.
Consumables inventory with stock summaries, search, low-stock filtering, and create action.
TPE catalog grouped by manufacturer, with model details and controlled delete actions.
Account manager dead stock inventory with assignment status, filters, and stock table.
Account manager settings for profile updates and password changes.
Bank employee dashboard with scoped request tracking and simplified navigation.
Bank employee dead stock view with assigned inventory summaries and read-only table flow.
Bank employee settings showing profile controls and linked bank information.