tags:

views:

57

answers:

5

I am currently building a site in PHP (novice programmer) and being new, I don't know much what a website needs in terms of functions (ex: login, logout, send emails, etc etc). Is there any sites that gives you details on such functions.

Like for a social networking site, you should have such and such. For e-commerce, this and this.

Thanks!

+2  A: 

Recommended reading:

jpabluz
Great book - Own and read it.
Riley
I'll look into it. Looks like just what I need to read
jpjp
+1  A: 

Best recommendation is to study the process flow of these websites and break it down to the elementary level to really understand how the website functions. Try Stackoverflow for example:

  1. Template
  2. Login/Logout
  3. Create Account
  4. OpenID Support
  5. Profile creation
  6. Reputation System

And this is from a High-level that needs to be broken into bits and pieces to really understand the required functions.

Riley
A: 

You should buy a book, or get a free tutorial online. Besides the basics, there are usually full of this kind of examples, and through them you will be able to make your own collection of functions.

I truly recommend this one http://books.google.com/books?id=duZqQgAACAAJ&dq=introduction+to+php5&lr=&hl=es&cd=27

Hermet
A: 

Well, usually site that has some sort of interactivity needs a:

  • User Accounts functionalities

    • Login/Logout
    • Registration system
    • Forgotten password
    • For registration & recovering passwords you will need to build email functions.
  • Permissions system

    • That means some users are regular users, some are administrators, etc.
  • Templates

    • Instead of injecting HTML into PHP code it's better to have template which you call when you need it
  • RSS feeds

Now, this needs to be extended:

Social networking (again, this depends what sort of network you are building) site needs to have:

  • User profiles (and customization)
  • Ability to add friends and to block people
  • Sort of friend activity stream
  • Media upload
  • Sometimes a blogging or posting system

But, something like news portal needs to have:

  • Easy way to add new content (articles, photo galleries, polls, etc.)
  • Easy way for editors to edit the front-page and rearrange elements (like when there's some breaking story)
  • Hierarchy system (basically this is the same permissions system)
    • Photographer uploads photos to central gallery
    • Journalist writes the article and picks some photos or gallery
    • Editor approves the article and puts it somewhere on the frontpage
  • Commenting system
  • Categorizing (by categories and/or tags)

E-Commerce is similiar to news portal and social networking sites but it needs a payment system built in.

Also, some of the sites (like social networks) have APIs for external programmers that allows them to build other apps based around the informations from your site.

So, it depends on the project. You can have social network that has minimum functions like friends and feed, but again you can go complex as you want and you can add a lot of other features.

Also, some smaller news portals do not need a complex CMS system or advanced permissions, but it is neccessary when there are lot of people behind the portal.

Danijel
Wow, that is a complete blog entry =P
jpabluz
+1  A: 

I would recommend learning to use a framework. It will help you a lot and save you from reinventing of the wheel. Think of your project one piece at a time and ideas for features will come naturally. Also, try to see from different perspectives (visitor, member, etc.) to figure out if you're missing anything. Make sure you focus on implementing the simplest, yet most important functionality first. It will save you from a lot of bloat.

Gabriel Evans