Typical Sites, Preparation for the Future
Posted: Sat Aug 23, 2008 9:32 pm
So far this year, I've been asked to make the following types of websites. It got me thinking about how to prepare for the future.
- manage a sales campaign pipeline -- was mostly CRUD with table and record views, and lots of heavy roles on what could and could not be done, followed by alerts
- classified listings (niche vendor topic), browsable on category, searchable on keyword
- product catalog with admin backend, along with simplistic PayPal integration (the free kind) with Add To Cart and Checkout Now buttons
- gadget to randomly show arcade game icons and links
- job search site -- is mostly CRUD on table and record views, but had a lot of similarities to the classified listings site
- contact forms w/captchas - 6 different clients
- 3 sites with custom CMSes (each client didn't want something canned)
- phpBB forum integration -- gadgets for putting into a CMS + comments on CMS articles get posted directly into the forum instead of into the CMS
- every site needed an admin system; had to use AJAX instead of FRAMEs and IFRAMEs in order to make the site zippy fast over the Internet -- admins don't like to have to wait for menus to be redrawn all the time on sometimes slow connections (busy websites).
- about 7 out of 10 sites needed some kind of file upload handler for either an icon, an image, an invoice, etc.
So, to all those guys considering becoming a freelancer out there, still working that regular programmer day job in a cubicle somewhere, I have this advice. Consider building the following frameworks, either using some existing framework and customizing, or develop your own framework on pure PHP. The frameworks would be:
- admin system with basic CRUD of record and table views; keep jQuery Accordion menus on the left and use jQuery Forms' AJAX to swap out the forms on the right (so you don't need to keep redrawing the menus and don't need FRAMEs or IFRAMEs).
- build a file upload handler
- learn a forum system well enough to build gadgets that draw content out of it, or to have comments on CMS articles post content into it.
- make your own micro CMS -- tie the admin system you build with some end user front-end gadgets that draw the CMS content out
- make a really good contact form that can't be hacked easily at all
- make a reusable product catalog that can be tied to PayPal with Add To Cart and Checkout Now buttons, and if you have the time, one with Google Checkout.
- build a job search site
- build a classified listings site
What I mean to say is, if you can do all of the above BEFORE you take the leap into 100% freelancing, you'll be able to hit the ground running with reusable code on like 70% of the projects you see out there. I mean, now that I've done these sorts of sites, I'm seeing my timelines shorten a great deal because I have so much reusable code that I just alter slightly and off I go. And you can do all of these kinds of sites initially as your own hosted projects, earning ad revenue or subscription revenue, BEFORE you start doing it for other clients. This will give you the necessary residual income you will need to help you ride out the dry periods.
Of course, this isn't the recipe for turning anyone into an excellent PHP developer. There's far more to learn out there to be the best you can be. It's just that if I had done all of the above BEFORE I had become a freelancer, I wouldn't have had such a rocky road up until now.
- manage a sales campaign pipeline -- was mostly CRUD with table and record views, and lots of heavy roles on what could and could not be done, followed by alerts
- classified listings (niche vendor topic), browsable on category, searchable on keyword
- product catalog with admin backend, along with simplistic PayPal integration (the free kind) with Add To Cart and Checkout Now buttons
- gadget to randomly show arcade game icons and links
- job search site -- is mostly CRUD on table and record views, but had a lot of similarities to the classified listings site
- contact forms w/captchas - 6 different clients
- 3 sites with custom CMSes (each client didn't want something canned)
- phpBB forum integration -- gadgets for putting into a CMS + comments on CMS articles get posted directly into the forum instead of into the CMS
- every site needed an admin system; had to use AJAX instead of FRAMEs and IFRAMEs in order to make the site zippy fast over the Internet -- admins don't like to have to wait for menus to be redrawn all the time on sometimes slow connections (busy websites).
- about 7 out of 10 sites needed some kind of file upload handler for either an icon, an image, an invoice, etc.
So, to all those guys considering becoming a freelancer out there, still working that regular programmer day job in a cubicle somewhere, I have this advice. Consider building the following frameworks, either using some existing framework and customizing, or develop your own framework on pure PHP. The frameworks would be:
- admin system with basic CRUD of record and table views; keep jQuery Accordion menus on the left and use jQuery Forms' AJAX to swap out the forms on the right (so you don't need to keep redrawing the menus and don't need FRAMEs or IFRAMEs).
- build a file upload handler
- learn a forum system well enough to build gadgets that draw content out of it, or to have comments on CMS articles post content into it.
- make your own micro CMS -- tie the admin system you build with some end user front-end gadgets that draw the CMS content out
- make a really good contact form that can't be hacked easily at all
- make a reusable product catalog that can be tied to PayPal with Add To Cart and Checkout Now buttons, and if you have the time, one with Google Checkout.
- build a job search site
- build a classified listings site
What I mean to say is, if you can do all of the above BEFORE you take the leap into 100% freelancing, you'll be able to hit the ground running with reusable code on like 70% of the projects you see out there. I mean, now that I've done these sorts of sites, I'm seeing my timelines shorten a great deal because I have so much reusable code that I just alter slightly and off I go. And you can do all of these kinds of sites initially as your own hosted projects, earning ad revenue or subscription revenue, BEFORE you start doing it for other clients. This will give you the necessary residual income you will need to help you ride out the dry periods.
Of course, this isn't the recipe for turning anyone into an excellent PHP developer. There's far more to learn out there to be the best you can be. It's just that if I had done all of the above BEFORE I had become a freelancer, I wouldn't have had such a rocky road up until now.