Skip to content
Jani Giannoudis edited this page Jul 25, 2023 · 34 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.

Setup download

The first step is to download the setup zip file from the Assets of the current release.

.NET runtime setup

To set up the Payroll Engine, the .NET 7 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 setup

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

The installation can be started with the command Setup.cmd. The following steps are executed:

  • Test the .NET runtime
  • Install the payroll database
  • Start the backend server
  • Test the backend server
  • Install example tenant
  • Start the web application server
  • Launch the web application log in

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

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 Data

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

Clone this wiki locally