Many, many years ago, I wrote an article about building a timesheet system to track and analyze work hours with PHP 4.x. It was a fairly useful little application, one that I ended up using quite a bit in my daily work as a consultant. As my requirements increased, I moved on to other project management systems…but I always had a soft spot for this, the one I used with my first few clients.
Fast-forward to 2018 and it occurred to me that it might be fun to go back and visit the Boss, the Customer and the Lazy Programmer and try to rebuild my original application, but with a modern spin: using a micro-framework with the latest version of PHP, scalable cloud-based data storage and PaaS infrastructure.
The application was fun to build and the result is a modern, lightweight and mobile-optimized evolution of my 2001 design. Essentially, the tool allows busy professionals (like lawyers and accountants) to define to define one or more projects, each representing a customer job and enter, on an ongoing basis, the hours worked on each project. Data is stored online, and users can view or export a report of hours worked per project at any time.
Here is a screenshot of the data entry screen:
And here’s another of the reporting screen:
As you can see, the entire application is mobile friendly, enabling users to enter data and view reports even when on the move (perfect for professionals who don’t have a fixed office or place of work). Behind the scenes, the application uses MySQL for data storage, Bootstrap for the mobile-optimized interface, the Slim PHP micro-framework for request processing, and the IBM Cloud CloudFoundry platform to deploy and scale.
If you’re looking for a lightweight time tracking tool for your projects, fork the code on GitHub and use it for your own business. If you’re interested in finding out how to deploy or customize the application, read my IBM Developer article for the full details.