First off, My group and I don't have any experience with databases or anything of that sort, only programming (not web-programming), so this post is just me wondering what things I should start researching and possibly some referral to a hosting company.

The abstract idea is to have a list of things, each categorized, and each item with user-submitted reviews (made by users who are signed up with the website).

Would absolutely everything be stored on a SQL database? (the long text reviews for example)

Does anyone have any suggestions on some 'web frameworks' we could use to jumpstart us?

What should our absolute first step be? (I was thinking about first designing the basic database? so we have something to work around...?)

Should we worry about which host we choose right now, any recommendations? (would it be a trivial task to switch hosts in the future?)

Thanks again, any help is appreciated!

2 Answers 2


I'm going to describe the practices that have best worked for me. Others might have better ideas that could work for you.

First Step: Plan

Write down the different functionality you want to have in the website. Go through the user's experience, and add or subtract features based on relevance and usability. Make sure you plan out what pages you want to include, and what functionality you want to have on each page individually. Keep in mind why people want to go to your website versus anyone else's. Try to give the user something original.

Don't worry about building a database or any programming just yet. Having an ugly or inefficient website will drive users away a lot sooner than having a poorly coded back-end. The start is simply designing the layout and aesthetics.

Second Step: Graphic Guide

Draft a graphical template of what you want it to look like, where you want your navigation, etc. I recommend using either Photoshop or Gimp. Researching usability studies and the such will help you determine what are the best practices. Also, looking at websites you commonly visit with a critical mindset will help you figure out what features you want to include. Make sure you always remember to keep the clutter down. Google is a perfect example of providing functionality without too much stuff on the page. Yahoo is a great example of what not to do (In my humble opinion).

Your graphical draft should cover all of the basic areas of your website; banner design / location, navigation design / location, login location (If you're including that), content area design, and whatever else you decide is necessary.

Third Step: Start Programming

Start by making the homepage in HTML/CSS/JavaScript, using your graphical layout as a guide. There are IDEs out there that are great for web-development. I personally use Aptana (www.aptana.com), but Eclipse is pretty good too (www.eclipse.org).

Ensure that the HTML has cross-browser compatibility and SEO, getting it w3c validated wouldn't hurt either (validator.w3.org). Once it all looks slick, start the PHP.

Fourth Step: PHP/MySQL Programming

Up to this point, you could do everything on your local machine. Aside from downloading software (EasyPHP for example), you'll need a server to program the PHP. A great host to use that has always been a great hosting solution is HostMonster.com. Cheap great hosting. Start building your database tables, using your foresight at exactly what you're going to need stored in the database. Yes, you will store absolutely everything in the database, from long text reviews to URL of images - assuming you want a dynamic website.

Make your homepage complete with all of the PHP that you want to include, and make sure it looks like a finished product. Then use that page as a template for the rest of the pages you want to build. Building each individual page in HTML first, then inserting all of the PHP is a pain, as you have to go through each page and insert the same PHP code.

As for your question to switching hosts, it isn't that difficult but fatal problems may occur. Backup your SQL database locally, register your new host, upload your files and database and make sure it all runs smoothly before terminating your service with the first host.

Fifth Step: User Testing

Giving your website in the hands of people who haven't participated in the design process will help you assess what areas need to be improved on, or what features to add / subtract. Beta testing for web design is just as crucial as for programs. Make sure to have a diverse population of interests and systems. A different version of Firefox may not display the information in the same way as your version of Firefox, for example.

A Few Tips

Consistency is the key. As your background in coding, you might already know this - but having a radically different background image for each page is an instant killer. Keep your navigation in the same area as well as in the same format.

Create a memorable site-map. Having users completely lost in your website is hazardous. Allow for link visited and active colors to be the same so users know where they have been. More information on this can be obtained from usability research.

Use either high graphics / low information, or low graphics / high information. Trying to combine both methods usually ends in disaster.

Never have the users scroll to the left or right. People aren't used to it, and it makes your website a lot harder to use if you crop important information. Using a percentage width would fix that problem.

I hope all of this helps you. If you need more information on a certain subject, let me know.


Great advice from Christopher, but let me add one more. Hire someone who has done this before -- could be as an employee, freelancer or consultant, depending on your budget and how you're structured. There's simply more to know than can be put in an answer on this site. I'm still learning about it after ten years and thirty billion pages served.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.