I've been fooling around with PHP, MySQL, JavaScript, CSS, XHTML for about a year, and I still consider myself a beginner. Recently, I decided to start a project and work on it during my winter break from school to improve my skills in webdesign. A couple people recommended that I try and code my own blog.

Can you guys think of other projects that will approximately take 20 days? Any language/framework suggestions? I want this to be a challenge and I'm not sure if coding a blog engine would be...

Thanks,

-C.

Accepted Answer

To answer your question in the title: Yes.

If you want to make it more challenging, you could try picking up a framework. CodeIgniter is a very good framework for beginners, as it has excellent and thorough documentation. It actually has a very short tutorial on creating an extremely simple blog.

I don't know if you know how to use OOP, but if you don't, learning a framework will require you to learn the OOP paradigm as well as most PHP frameworks out there make use of it. Plus you'll learn about MVC (model-view-controller), which is a way of seperating concerns (seperating your presentation from your business logic, etc). As things like OOP, MVC, and so on are a lot to take in, I would highly recommend building a blog application as it will allow you to focus on learning about the new stuff rather than getting bothered about the details of how your application should work. You can also make it as complicated or as simple as you like.

I think learning how to use objects, classes, and so on is pretty challenging in itself. And as someone else has said there's a lot of stuff covered in a basic blog application - working with databases, sanitizing user input, managing RSS Feeds, calendars, spam filters, etc.

You could also use the opportunity to learn some more JavaScripty stuff, you could probably invent excuses to implement some AJAX-type stuff (in a real world application I wouldn't suggest going out of your way to find things to use AJAX with, but for learning purposes... :P).

Written by naeblis
This page was build to provide you fast access to the question and the direct accepted answer.
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki