Skip to content
Jani Giannoudis edited this page Jul 20, 2023 · 34 revisions

Payroll Engine Setup

The Payroll Engine consists of the following applications

  • Backend Server - Payroll calculator with storage of payroll data
  • Payroll Console - Automation and control of the backend server
  • Web application server - Web application of the backend server

The applications run on the operating systems Windows, Linux and MacOS and require the installation of .NET 7. To store the data, the backend server requires a Microsoft SQL Server database. For SQL Server databases that are not operated locally, the release configuration must be adjusted before installation.

Contributions to the installation of the Payroll Engine for Linux or MacOS are welcome.

Setup

The first step is to download the release zip file from the Assets of the current [release] (https://github.com/Payroll-Engine/PayrollEngine/releases).
Release download

After unpacking the zip file into a local directory, the installation can be started with the command Setup.cmd. The following steps are executed:

  • Installing the payroll database
  • Start the backend server
  • Test the backend server
  • Install example tenant
  • Start web application server
  • Start web application and log in

The backend server and the web application server are started minimised 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