If this keeps up, I’m going to have to put together a dedicated page for web projects. I hope it does keep up. I really love doing it…
My latest project following the FreeBSD backup script (bash), a host of system admin scripts too small to bear mentioning (bash, tcsh, perl), and the twice-built RAID crash victimized wine database (PHP, Smarty & MySQL) (in addition to the many projects no longer online), is a gas mileage tracker. It’s also written in PHP, delivered through Smarty, and backed by MySQL, but now with delicious pChart.
I originally used GoogleDocs and a GoogleForm to record the data, and I have data going back a few years. That worked well enough and did most of what I wanted it to do, but it didn’t do everything. Now that I have my own server(s) up and running again, I have the luxury of being dissatisfied.
What it Didn’t Do
- Provide meaningful feedback after submitting the form. I want to know what was submitted immediately on the “Form Submission Successful” screen, and if applicable, how it relates to information previously submitted. That’s just good UI feedback that it’s missing.
- Allow me to maintain and build upon my scripting/database chops. Working with GoogleDocs is easy, fairly extensible, and has the benefit of having a preexisting world class infrastructure (and all that entails) and environment in which to work. However, I’m a bit of a maverick in these things, and for my own projects I want things set up the way I want them. Their infrastructure and environment doesn’t allow me to build on the skills I want to build on. I have my own environment. I want to take advantage of it.
- Allow me to maintain and build upon my UI design chops. I’ve always loved the UI design aspect of building web apps. There’s a few things you can do with Google, but I felt too constrained by their system, and wanted, again, things the way I wanted them.
It wasn’t all bad, though. Setting it up in GoogleDocs did effectively (if not intentionally) serve as a sort of rough draft for rebuilding it on my own server.
What it Did Do
- Gave me a firm sense of what I wanted, and what I didn’t want, if not a solid workflow to follow.
- Gave me a good sense of the basic information I wanted to collect, which was then easy to translate to MySQL tables.
- The visualizations in the form of charts and graphs were good enough that I decided I couldn’t do without them, which gave me the desire to research PHP graphing/charting libraries. I settled on pChart.
Now, I have a small web app that lets me…
- Track the gas mileage I’m getting for my car and how many miles I’m getting per tank.
- Track how the price of gas is changing. Always up, but still…
- Track how much I’m spending per mile on gas.
- Track how often I fill the tank.
- Keep tabs on how often I’ve changed the oil (I change it myself… a pox on paying someone else to do it), and how long until I need to change it again.
Soon, it will let me…
- Track how many miles I drive over time, per week, month, year, etc.
- Track how long between major service visits I don’t care to do (tires, brakes, etc.)
- Implement multiple vehicles in the hopes that I can get my wife on board and using it.
- Authenticate access so I don’t have to worry about the data being mangled by miscreants and malcontents. Obfuscation and low-profile domains will only work for so long (stay away, Noah! :) )…
- Better UI flow… it’s good enough for me, but it’s rough. It’s fine on the desktop, but I need to clean it up so it works on the mobile platforms better.
Here are the charts I’m generating. I know, the gas mileage isn’t that hot. But the payments are $0, so there’s that.






