We have an idea for a social networking site that we would like to have built.
It would require the following features:
* Picture uploads and server-side manipulations
* Simple blogs
* Users with various relationships between users
o Limiting what is seen by these relationships
* Voting & Polls
* Rating various items
* Interaction with outside vendors that would pay fees to have an active presence in the site
* User geographical location based searching
* Private messaging between users
* Several trails of user progress that would need to be tracked and easily updated by the user
o These trails would interact with each other
o Notifications would need to be sent to other users as these trails progress
+ So Users would 'subscribe' to other users
* Community interactions between users similar to a forums
* CMS for Admins to update content in various areas
* "pretty URLs" via mod_rewrite or similar solution
* We would like to stick with free/open source solutions as much as possible. We want to keep this as easily maintainable and changeable as possible.
* Acceptable Server-side Languages
o PHP5 (Preferable)
o Ruby (on Rails)
o Other (We are open to suggestions)
o NOT ASP or JSP
* MySQL Database, but we are open to other suggestions
o We are expecting a relational database with each table only describing a single type of object.
o Database abstraction preferred especially if non-MySQL database used (i.e. PEAR's MDB2)
* Server-side coding standards
o As object-oriented as possible
o Thorough Commenting
o Use of common, open-source libraries when possible (i.e., PEAR packages)
* Client-side coding standards
o Valid XHTML/CSS
o Table-less, semantic (as possible) html layout
o Full functionality in IE6+, Firefox 2+ , Safari (Webkit) 3+, Opera 9.5+
o As few CSS 'hacks' as possible in order to protect from breakage in future version of browsers. Server-side stylesheet serving or IE conditional comments preferred.
o Thorough commenting on all code (HTML, CSS, JS, etc)
*No Website design needed in this project. The design for this website will be completed for you, including layout, logos and images.
The main goal with all of these requirements is for the project to be maintainable, stable, secure and easy to add to and change.
In all of this you will be expected to work with our technical consultant. He will want to check on your progress and code weekly. This can be done either by giving him open access to your code and database or by weekly submissions of current code and database progress.
The more you are willing to work with us and interact with us to get this idea done the right way the first time the happier we will be. We will expect you to listen to our consultant and answer any questions or explain any methods you may be employing so that we can understand how you are working and how our project is progressing. You must feel comfortable with redoing and making any changes that the consultant asks for.
Those interested in this project please send us the following:
* Your own website
* Sites that you feel best represent the work you would do on this project
* Server-side code examples that highlight the values listed above
* The reason why you think you would be good for this project
* Anything else you believe is relevant
Please note that anyone who accepts this project will also accept an NDA