Teach me where to fish...
May 22, 2008 12:15 PM   Subscribe

I've had what I think is a decent idea for a website. Rather than asking someone to "punch it up" in their "spare time" I'd like to learn to do it myself. I know a bit about html and took a turbo pascal class 11 years ago. Since then it's been all humanities, social science, and law. What do I need to learn and what, in your experience, are the best books/web sites to learn from?

I know from tons of answers by the able people here (and personal experience) that ideas are basically worthless unless you make them real. I, perhaps naively, want to know how to do that.

Essentially what I'm trying to do is to provide a database and allow visitors to search through that database by categories, dates, (user generated?) tags, names, and (geographic) locations. What do I need to read?
posted by the christopher hundreds to Computers & Internet (8 answers total) 38 users marked this as a favorite
Best answer: You need to read about MySQL or PostgreSQL (zealots will argue postgres is better.. but MySQL is far more popular and widely supported on hosting companies)...

You need to choose a programming language such as PHP, Python, Ruby, etc, and read a book on it. Googling [language] for beginners is a decent start. I'd recommend PHP only because there's so much out there on how to use it.

You should probably brush up on HTML and CSS -- especially CSS and layout/positioning with DIVs, because it's "the new way" of doing things...

For geographic location search, I'm guessing you're looking for a zip code radius type thing?

Oh yeah - and for any of this to matter, you'll need a webhost (or your own computer with web server, database server and programming language/engine set up properly)... one good place to start, if you're a windows user, would be to google XAMPP ... it's a simple / easy to install package... it won't get you up on the web, but at least you can develop locally... then find a host when you really need one...
posted by twiggy at 12:39 PM on May 22, 2008 [1 favorite]

Oh yeah - google now has an amazing html and css reference to get you started on that front.

MySQL's documentation site is actually quite good. Here's a not so bad tutorial on database design for beginners.
posted by twiggy at 12:41 PM on May 22, 2008

You might end up using a content management system like Drupal or Wordpress. There are many free CMS's and the majority are based on MySQL and PHP, as mentioned in previous posts.

Personally, I find the best way to learn this (or almost anything, actually) is to skip the abstract book knowledge and just jump in headfirst and struggle.
posted by aliasless at 12:50 PM on May 22, 2008

Best answer: You might want to try a framework, where much of the boilerplate code is already written for you and you can focus on your website's logic and presentation. In that vein, I heartily recommend Django, written in Python, with awesome online documentation and a very good book and a geo- library (for geocoding, geographic lookups, etc.) and useful and friendly community. Email me if you need more info.
posted by signal at 12:53 PM on May 22, 2008

Wordpress could easily do what you require. I'd start there, as it is very simple to setup and use, plus the plugin database makes it easily extensible. In terms of design, you can find hundreds of custom themes to start from and customize to your needs.
posted by ISeemToBeAVerb at 1:41 PM on May 22, 2008

Response by poster: Wordpress could easily do what you require.

I've used wordpress for simple blogging in the past. I had no idea it could do something like this. That's a very intriguing option.
posted by the christopher hundreds at 1:44 PM on May 22, 2008

Learning to make a website like this (that people really use) takes time and effort, and ideas grow, so I wouldn't get too hung up on the idea just yet. I taught myself from a kind of similar start to you, and in retrospect I think the main thing is to explore, experiment and play around in your language of choice (suggest PHP, Python or Ruby), aiming to get an understanding of how web sites work as a whole. Learn by doing - spend more time coding than reading (but do read broadly). Make small, achieveable goals, starting by building (very) simple web apps and gradually increase the complexity, always aiming for a point a little out of reach. Its all a bit daunting when you start, but programming is lots of fun, and if you stick at it, your idea sounds very doable.
posted by MetaMonkey at 5:17 PM on May 22, 2008

Best answer: I would also strongly recommend using a content management system like Wordpress or Movable Type to get started. They both do good jobs of setting up a basic site, whether it's blog format or not, and you can get into things by working with design and layout (with your content separated nicely from your presentation) rather than the very daunting task of starting from the ground up. Given the power of these kinds of tools, it makes sense to focus on learning about cascading style sheets (CSS), which will require you to learn new HTML as you go.

Another advantage is the wide array of designs available, which you can then take apart and tweak and change to your liking, and in so doing, learn more about how the stuff works, rather than trying to write things from the ground up.
posted by stavrosthewonderchicken at 7:08 PM on May 22, 2008

« Older Who would have thought I'd miss windows?   |   How can I fix my sunglasses? Newer »
This thread is closed to new comments.