Skip to content

Payroll-Engine/PayrollEngine.WebApp

Repository files navigation

Payroll Engine Web Application

👉 This application is part of the Payroll Engine.

The Web Application provides full access to the Payroll Engine. For a better understanding of the working concepts, it is recommended to read the Payroll Engine Whitepaper.

Features

The functions of the web app are divided into features:

Feature Group Description
Tasks General Manage the user tasks
Employee Cases General Add new employee case
Company Cases General Add new company case
National Cases General Add new national case
Global Cases General Add new global case
Reports General Build reports 1)
Payrun Results Payrun View and Export payrun results
Payrun Jobs Payrun Start and manage payrun jobs
Payruns Payrun Add or change a payrun
Payrolls Payroll Add or change payroll and clusters
Payroll Layers Payroll Add or change payroll layer
Regulations Payroll Add or remove regulation
Regulation Payroll Derived regulation edit
Shared Regulations Administration Manage shared regulations
Tenants Administration Add or change a tenant
Users Administration Add or change an users2) 3)
Calendars Administration Add or change a payroll calendar
Divisions Administration Add or change a division
Employees Administration Add or change an employee
Webhooks Administration Add or change webhooks and messages
Logs Administration View the tenant logs 4)
User Storage System Manage the local user storage

1) Based on FastReports.
2) The available functions can be assigned to the user.
3) The "Administrator" user type can manage all functions.
4) Tenant logs are generated by the regulations and should not be confused with the application log.

Web Application Server

To run the web application server, the web host must support the execution of .NET Core applications. For local development, IIS Express serves as the host in two execution variants:

start "" dotnet PayrollEngine.WebApp.Server.dll --urls=https://localhost:7179/
  • Visual Studio Solution PayrollEngine.WebApp.sln using the debugger.

User Login

When logging in for the first time, the user must choose a password that complies with the following rules:

  • at least 8 characters
  • 1 numeric character
  • 1 lower case character
  • 1 upper case character
  • 1 special character

Developer login

In debug mode the web application can be started with an automatic login. The desired context is defined with the program settings AutoLogin, StartupTenant and StartupUser. In this mode it is possible to switch between the tenants.

Application Configuration

The server configuration file Server\appsetings.json contains the following settings:

Startup Configuration

Setting Description Default
StartupCulture The web application process culture (string) System culture
AutoLogin Automatic logon using the StartupTenant and StartupUser (bool) 1) false
StartupTenant The startup tenant using th auto login option (string) 1) -
StartupUser The startup user using the auto login option (string) 1) -
ClearStorage Clear the user storage (bool) -

1) Only in debug mode

App Configuration

Setting Description Default
AppTitle The application title (string) Payroll Engine
AppImage The application image (string) Payroll Engine image
AppImageDarkMode The application dark mode image (string) Payroll Engine image
AdminEmail The administration email for error pages (string) -
DefaultFeatures The default features for new users (string[]) -
LogCaseChanges Add case changes to the tenant log (bool) false
SessionTimeout Web application user session timeout (timespan) 10 minutes

Payroll Http Configuration

Setting Description Default
BaseUrl The backend base url (string)
Port The backend url port (string)
Timeout The backend request timeout (TimeSpan) 100 seconds

Serilog

File and console logging with Serilog.

It is recommended that you save the application settings within your local User Secrets.

Application Logs

Under Windows, the web application server stores its logs in the system folder %ProgramData%\WebApp\logs.

Input Attributes

The case input attributes can be used to control the behaviour of user input.

👉 Input Attributes Reference.

Third party components

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages