Seanneskie
All projects
1/5
Desktop Payroll Management System screenshot (1/5)
Desktop Payroll Management System screenshot (2/5)
Desktop Payroll Management System screenshot (3/5)
Desktop Payroll Management System screenshot (4/5)
Desktop Payroll Management System screenshot (5/5)

Desktop Payroll Management System

Aug 2025 - Present

Cross-platform payroll application — Electron desktop shell wrapping a FastAPI backend with SQLAlchemy persistence and rich reporting.

PythonFastAPIElectronSQLAlchemySQLiteTailwind CSS

The pms-project is a desktop payroll management system that marries a FastAPI back end with an Electron front end. The back end exposes routes for dashboards, employee management, salary grades, allowances, deductions, payroll, incentives, catch bonuses, reports, and thirteenth-month pay, all served through a FastAPI application and static files. The Electron shell launches this API as a subprocess, waits for it to become available at http://127.0.0.1:8000, and then loads the interface in a browser window. SQLAlchemy models capture domain entities such as salary grades, employees, allowances, and deductions, enabling rich payroll computations and historical tracking.

Application Startup: A simple runner starts the FastAPI app using Uvicorn, ensuring the project root is on the Python path before importing the application instance.

Routing & Static Assets: Core route modules cover operational concerns like employee records, payroll calculations, and incentives, while static files (CSS, images) are mounted for UI rendering.

Data Models: SQLAlchemy models define tables for salary grades, employees, and their related histories, supporting allowances, deductions, and pay-step adjustments.

Electron Shell: The Electron process spawns the packaged back end (PMS_API.exe), waits until it responds, and then presents the FastAPI UI inside a BrowserWindow. Single-instance enforcement and clean shutdown handling are built in.

Configuration & Scripts: package.json configures Electron Forge commands (start, package, make) and declares dependencies such as electron, @tailwindcss/cli, and axios.

The Python environment includes FastAPI, SQLAlchemy, Uvicorn, and supporting libraries for templating, Excel/Word generation, and PDF reporting, among others, as listed in requirements.txt.