Skip to content
Jani Giannoudis edited this page Nov 27, 2023 · 28 revisions

Payroll Engine Setup

The Payroll Engine run on the operating systems Windows or Linux and consists of the following applications

  • Backend Server - Payroll Engine with storage of payroll data
  • Payroll Console - Payroll console for automation
  • Web application server - Payroll Engine web application

Contributions to the for the setup on Linux are welcome.

Prerequisites

.NET Runtime

To set up the Payroll Engine, the .NET 8 Runtime for server applications must be installed locally:

  • Windows: Run server apps > Download Hosting Bundle
  • Linux: Run server apps > Install .NET

For MacOS, there is currently no support for ASP.NET Core server applications.

Database Server

The backend server requires a Microsoft SQL Server database version 2017 (v14) or later to store the data. By default, the SQL Server is installed on the local instance (localhost). To use a cloud SQL Server, the database connection must be adjusted in the release configuration before the setup.

For custom databases, the SQL Server collation should be SQL_Latin1_General_CP1_CS_AS.

Engine Setup

For the setup of the Payroll Engine, the setup is available as a zip download in the Assets of the current version.

👉 Continue to Releases

After unpacking the zip file into a local directory, the installation is started with the command Setup.cmd. The setup installs the engine database, starts the backend server and tests it. After starting the web application server, the login of the web application appears in the browser: - Name: lucy.smith@foo.com - Passwort: @ayroll3ngine

To ensure secure operation of the two web servers, the installation of the HTTPS developer certificate must be confirmed during setup.

Run Application Servers

The backend server and the web application server are started minimized and must not be terminated as long as they are used by client applications. For further operation, the server applications can be started manually:

  • BackendServer.cmd - starts the backend server
  • WebAppServer.cmd - starts the web application server (backend server must be running)

The client applications are opened with the following commands

  • Backend.cmd - Starts Swagger in the web browser (backend server must be running)
  • WebApp.cmd - Starts the web application in the web browser (web application server must be running)

Setup Content

The installation file contains additional folders:

  • docs - Payroll Engine documentation
  • Tests - Backend payroll tests (run by the setup)
    • Tests\Test.All.cmd - Runs all payroll tests on the Engine
    • Tests\<Test>\Test.cmd - Runs a single test
  • Examples - Payroll samples (setup installs one sample)
    • Examples\Setup.All.cmd - Installs all billing samples
    • Examples\<Example>\Setup.cmd - installs a single payroll example
  • Schemas - JSON validation schemas

Release Configuration

The settings of the applications are stored in the configuration file engine.json in the release folder. It contains the database connection and the server addresses of the backend and the web server application.

Release configuration engine.json:

{
  "databaseConnection": "server=localhost; Initial Catalog=PayrollEngine; Integrated Security=SSPI; Connection Timeout=1000; TrustServerCertificate=true",
  "backendUrl": "https://localhost",
  "backendPort": "44354",
  "webAppUrl": "https://localhost",
  "webAppPort": "7179"
}

To use an existing SQL server database, the connection configuration databaseConnection must be adapted.

For multiple Payroll Engine installations, the command Setup.Local.cmd activates the Payroll Engine configuration in the local directory.

Next steps