views:

185

answers:

7

I have just finished teaching myself a bit about PHP and now I am looking for a self-project to do. Does anyone have any ideas regarding a project that can use the extent of what PHP is primarily used for, ie. including database functionality, or perhaps a more complicated project learning about advanced PHP? I'd rather not create a blog or an e-commerce site.

Any ideas would be appreciated. Thanks

+8  A: 

What are you other hobbies? Oftentimes the best projects are ones that apply one of your interests towards furthering another.

Amber
Even after you've got some experience under your belt and are getting paid to write PHP code, these sorts of projects are great places to experiment and learn new techniques.
Jason
Your definitely right Jason, I've asked developers the same question and that's exactly what they said
Anthony Forloney
It makes sense - you're more likely to start, because you want to do it, you're more likely to benefit, because you'll want to use it. It's much easier to stay motivated and interested because it's _fun_.
Frank DeRosa
+1  A: 

what about some todolist management (like tadalist), not too complicated but could be a nice start?

RC
+1  A: 

Some random ideas I can think of right now (I'm not sure what difficulty level you want so I'll just list different levels):

  • Create an identification/registration system
  • Create a game (you choose.), games are generally very fun to code, you should code a game that you like. To be a good PHP exercise, this game should have some kind of leaderboard (to practice your sql and stuff)
  • A small exercise that I like is just a small news module with add/edit/remove/list news. You can also add some fancy things like pagination and a rating system.

I'll edit later if I have any other thoughts. And don't forget to have fun while coding :-)

Soufiane Hassou
+2  A: 

A media management web tool that can help to organize DVDs/CDs/books, etc. Would be nice to pull related info from Amazon and IMDB's database.

If you like sports, maybe a web site that can enter player/team/league info and schedule games, etc.

These can be complex but you can always start small.

grokus
+2  A: 

I believe it would be best to try and incorporate the full-blown arsenal of a LAMP developer. Your project should focus on a little bit of the following aspects (as this seems to be the way of the web to date):

PHP


One of the most frequently used features of a website is a user registration system. This covers many important aspects such as security, sessions, cookies (if you use remember me functionality), database interaction, and form handling.

MySQL


A user registration system will tie in with a database of your choice. MySQL is the obvious choice but there are plenty of alternatives. You should familiarize yourself with querying and retrieving records from the database as well as structuring your database, indexing, and optimizing queries.

Javascript/AJAX


An added bonus. You should familiarize yourself with javascript. My framework of choice happens to be jQuery as it easily abstracts some fairly difficult tasks into more mundane, managable code on your end. You could make AJAX requests for a forgot password feature to pass an email address and automatically send an email to the user and respond with a success or error response.

cballou
+1  A: 

Do you play any games? My roommate is a Pokemon nerd (heh) so I set out to create an online Pokedex for him; just a simple site that lists the different pokemon and their abilities. Do you play any RPGs? Create an item database that allows people to upload screenshots of items and list their stats.

Play poker? Create a hand/probability database.

Since we live in these lovely web 2.0 times, find various sites that publish RESTful web stats. Places like twitter and last.fm are good starting places.

Hooray Im Helping
Good chunk of the time when I learn something new I try to adapt it to something useful that I'll benefit from. Great ideas. Now if I can make a program to help me win at Texas Holdem every Monday night, that'd be something
Anthony Forloney
You and me both ;)
Hooray Im Helping
+1  A: 

What about a decent contact manager, there seems to be very little out there in PHP, the only good one I can think of is iAddressBook which hasn't been updated in a year (although it is excellent as it is).

If you could make it sync with GMail contacts via the Google API and use either SQLite or MySQL that would certainly be a useful thing!

I think that you would quickly learn the basics of a standard PHP project doing something like that plus you'd end up with something useful at the end. Just my tiny 2¢ worth...

MrBertie