Best Approach for a Quick & Dirty Desktop Application
I have decided to let the geeks out there solve a problem for me. The problem is writing a quick and dirty solution to a temporary problem. I have an idea but I am interested to see what others have to say.
The application is for some not very fancy record keeping. You could call it a payroll system but it has few of the characteristics of a real payroll system. Also, it is temporary—in a few months it will be no longer needed. It is for the Geek Ranch project and is to keep track of "casual labor".
We have anywhere up to 50 people working on various construction projects. They are paid (in cash) every two weeks. Their pay is based on days worked during the period at a daily rate. The "twists and turns" are minimal (getting paid for seven days if they work six, for example) but that can pretty much be dealt with by hand.
There are reasons this becomes a database project rather than just a spreadsheet.
- We want some sort of error checking on data entry and it seems easier with a database
- There are a couple of balances that accrue (vacation and a "13th month" pay that accumulates and gets paid out once a year). We want to keep track of this and also print info to put in the General Ledger that reflects the wages we pay out plus the liabilities we are accumulating.
For data, I see three record types:
- Employee—name, ID number, start date, current pay rate, ...
- Pay—The data we enter each two weeks.
- Comment—General-purpose info that just includes a timestamp and a comment field.
Transactions are limited to:
- Enter/update employee record
- Add/update a pay record
- Add a comment record
Reports consist of:
- Generate a pay report (selecting by a particular person and date or all on a particular date)
- Payday ledger showing who got paid what plus the liability updates
- Employee summary showing the employee info and all related records
By "report" there is absolutely fancy here. This can be just fixed width characters on a piece of paper. Again, think temporary.
The person using this will be at a KDE desktop. They are not a computer geek (and, if it matters, they only understand Spanish). The whole program can be running on their workstation (only one person really needs to access this) or it can use a web interface from a local server. Postgres is running on a server (to support another system) or sqlite could be used.
If there is code to be written, I would prefer Python but other possibilities (from Awk to PHP) exist.
That's the story. Tell me the "best way" to do it and, if possible, why your way is best.
Getting Started with DevOps - Including New Data on IT Performance from Puppet Labs 2015 State of DevOps Report
August 27, 2015
12:00 PM CDT
DevOps represents a profound change from the way most IT departments have traditionally worked: from siloed teams and high-anxiety releases to everyone collaborating on uneventful and more frequent releases of higher-quality code. It doesn't matter how large or small an organization is, or even whether it's historically slow moving or risk averse — there are ways to adopt DevOps sanely, and get measurable results in just weeks.
Free to Linux Journal readers.Register Now!
- Django Models and Migrations
- Hacking a Safe with Bash
- Secure Server Deployments in Hostile Territory, Part II
- Home Automation with Raspberry Pi
- The Controversy Behind Canonical's Intellectual Property Policy
- Huge Package Overhaul for Debian and Ubuntu
- Shashlik - a Tasty New Android Simulator
- Embed Linux in Monitoring and Control Systems
- KDE Reveals Plasma Mobile
- diff -u: What's New in Kernel Development