For consultancies that bill on an hourly basis - lawyers,accountants et al - time tracking is a critical part of the billingprocess. For small- and medium-size organizations, resource tracking,allocation and analysis is essential for business efficiency and planning.This article addresses both requirements by teaching you how to build atimesheet system to track and analyze work hours with PHP and MySQL.
For those of you not too good at reading between the lines, let me tell you what just happened.
The Customer, who happens to be a very successful lawyer, and the head of one of the city's biggest legal firms, wants to generate invoices based on hours worked by his employees. The Customer's HRD department wants to monitor and analyze employee work hours, for reasons best known to themselves. And they're looking to us to build the application to do it.
The Boss just volunteered me to develop the application for the Customer. Since the Customer happens to be very rich and an association with him would probably prove to be lucrative (and, I suspect, the cause of many ulcers), the Boss is very keen to make a good first impression...which is probably why he agreed to that ridiculous three-day deadline as well.
"Look," he says to me when I bring up the topic in the cab, "you're one of my best developers. We need to do this, because those guys are looking for a new software contractor and this is our foot in the door. You keep telling me about that RAD thing you like so much - HPP, PPH," (he means PHP, the moron), "whatever you call it. Why can't you use that, put it together, make it look pretty and send it across in a couple days? Trust me," (oh no, I'm thinking, here it comes, the Boss's favourite maxim) "I'm sure it isn't as difficult as you're making it out to be."
How on earth did this guy get to be CEO of a software development company?
Anyhow, it looks like I'm up the proverbial creek without the equally-proverbial paddle. I need to develop the requirements for this application, design an appropriate database schema, put together the code, package it in a pretty interface, test it and deliver it...all within the next seventy-two hours.
With the help of powerful open-source tools like PHP and mySQL, the process can be simplified considerably. And over the course of this article, I'm going to demonstrate how, by building a PHP/mySQL-based timesheet application suitable for small businesses or independent contractors.
The goal here is two-fold: to introduce novice and intermediate programmers to the process of designing and implementing a Web-based application; and to offer HR managers, accountants, corporate efficiency experts and other interested folk a possible solution to their woes.