Develop and build a social networking site that is somewhat of a cross between Facebook and a blogging site. Users can post links, images, videos, etc. and select which of their friends can see them.
I do not care very much about the technology used (PHP, ASP.NET, etc.) but the following points are quite important:
* GUI must be very fast and user-friendly (think heavy DHTML/AJAX) and you must be very proficient and experienced with this type of programming. I will require samples of prior work before assigning the project.
* code / infrastructure must scale to a large number of users simply by scaling hosting infrastructure. This means that you should have experience with large databases (think HBase or BigTable--if you don't know what that is you are probably the wrong developer for this project)
* you or your company should be able to handle both the programming and web design for this project. The site must look good and I do not want to spend time with integrating the design of a third party into your code
* posting info should be very easy to do and "smart" (think Facebook and how pasting a YouTube link automatically displays a preview of the video and a mini-player)
* must integrate with Facebook and Google APIs for signup, login, and contact list
This is a high level overview of the features the site must have. There may be additional minor features and there may be more detailed / involved functionality for these features. Please plan accordingly when you bid for this project.
* Signup / Login / Account management (very basic)
* email preferences management: email for every post/comment, daily digest, weekly digest, or no email
* signup / login via Facebook or Google account
* "friend" list management with grouping (e.g. "friends", "coworkers", "family" etc.)
* friend / contact integration (sync) with Facebook and Google
* Email-like interface for creating a new post (subject, body, recipient list)
* body must be flexible to accept plain text / formatted text / images / video and make it very easy for the user to post any of these item types; for example, pasting a YouTube link automatically converts it into a mini Flash player (just like Facebook)
* recipient list can be either typed in (recipient is auto-detected from first few letters--see Gmail / Outlook / Facebook interface) or selected with checkboxes or drag-drop interface; recipients can be selected individually or as a group (for example All Friends, Co-Workers, My Family, etc.)
* list of posts received (equivalent to Sent Items)
* list of posts created (equivalent to Inbox)
* users can comment on posts they received or sent
* users can rate posts they received (for example by clicking on a row of stars and selecting 1-5 stars)
* "personal" page accessible via URL (e.g. [url removed, login to view])--exact content and wireframe TBD
* throughout the user interface the emphasis must be placed on speed and ease of use (DHTML, AJAX, etc.); for example, a new user should be able to sign up and start posting in as few clicks as possible
* automatic email notifications for various events that happen on the site (new post, new comment, new rating, etc.)
* anti-spam features that prevent the site from being abused (CAPTCHA, throttling number of messages posted per hour, maximum number of messages from same IP, even if for different users, maximum number of recipients, etc.)