How to make webdevelopment more efficient?
Hi! I'm relatively new to web development, I've been doing web sites at a branding firm for about 4 months now, it's a very small firm.
The way we do things is: the designer makes the site in photoshop(being a branding firm,design is very important), then I create it from scratch, I do the HTML and the PHP. A colleague does the admin part. Until now I did two online shops, and both of them took 1 month to create, each. It takes me a variable time to create sites, some take a day, some a week and some a month.
The problem is that it's not very productive, I'm moving too slow, the firm is losing money on this side.
Recently we had a client who asked for a hotel presentation site, he wanted besides the presentation: an online interface for payment and reservation, newsletter, rss, announce a friend, user accounts, fidelization programs(discount for users who use make frequent reservations), virtual tour(image slide I suppose), map , skype(?) , directions to the hotel from the airport,train station, and he wanted the site to be in three different languages.
I told him I needed 3 weeks to do the site (note: I work 20-30 hours a week) and I asked 1000 euros(This is in Romania). Then he replied saying that other webdevelopment firms said they would do the site with 550 euros (which apparently is true). If I took the site and asked 550 euros on three weeks work than I'd be losing money for the firm, this means that other firms are doing sites much faster. HOW do they do it?
I'm pretty sure that most firms reuse a lot of their code, I tried reusing code for the two online shops I created but I didn't win much time with it, even though the sites were pretty similar the code needed a lot of customization and tweaking.
I'm thinking of learning OO PHP,maybe this will give me and egde. My boss and the designer from work keep telling me about Joomla and Wordpress. I read about Joomla and it seems to be useful but I doubt that is very customizable. I don't think I could make a complex site like and online shop only with Joomla. One of the online shops I did sells ergonomic chairs, when you buy a chair you can select different options(which differ for every chair), the price differs for each option you choose. The site offers the client an admin where he adds/edits chairs, cathegories... after a purchase the buyer receives an email with a receipt tghat has to be used when he pays at the bank. This was actually the first site I did for this firm. This is a page from the online shop. Could I have done this, or a big part of this with Joomla?
I'm pretty sure OO PHP would've helped me a lot, but I would've still needed a few weeks to do the site.
I guess, basically, I'm asking you how can I modularize sites so I can reuse code? Can you recommend some good articles on this topic? Can you recommend some platforms? Anything would be helpful.