Add simple social network features to an existing site

Cancelled Posted Jun 21, 2006 Paid on delivery
Cancelled Paid on delivery

I run a website which is focused on the gay/GLBT travel market. I've coded most of the site myself using either classes I've downloaded or custom code I've written. Now I'm looking to add some basic social networking features to the site, and I need someone to help build that out.

My site already features member profiles and a registration system, so I need someone to just write the specific social networking features so I can integrate.

Here's what I need:

A PHP class and associated pages to do the features below. The class should handle most of the logic (like all writes/reads to the db, notificationes, etc) and the pages should just be the UI to make the flow work. The reason I want a class seperate from the pages is that I plan to integrate this into other existing pages as well in the future. I can either supply you with HTML that you should "hook up" or you can provide a stripped down PHP pages that I can then "pretty up".

## Deliverables

1) I expect complete and fully-functional working and tested php scripts, classes(s) and html pages.

2) Deliverables must be in ready-to-run condition, as follows? (depending on the nature? of the deliverables):

a)? For web sites or? other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.

b) For all others including desktop software or software the buyer intends to distribute: A software? installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.

3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).

Specifics of deliverables / The key features needed in this class/pages are:

Add a user as a favorite (one way)

Use Case: one user (A) finds another user(B)'s profile and wants to add them to their "favorites" list. Favorites do not require user B to approve, so user A's favorites list is updated.

Deliver: A PHP script, a DB table and a function in the class that takes the logged in user's username (user a) and the user that he wishes to add (user B) as a favorite and updates a table in the DB. Also, an email confirmation is optionally sent to user B letting them know that User A has added them as a favorite. My users table will offer an option for users to not receive these notifications. Your function should check that first. (let's discuss best way to do this)

Remove user as a favorite

Use case: The reverse of the above

Deliver: A PHP page and a function in the class to update the db accordingly

Add user as a friend - two way

Use Case: one user (A) finds another user(B)'s profile and wants to add them to as a friend, they type a short note. A friend request is sent to user B and user B either choose to approve or reject the request.

Deliver: A PHP page, a DB table and a function in the class that:

1) takes the logged in user's username (user a) and the user that he wishes to add (user B) as a friend and sends off a confirmation mail

2) presents user B with a choice of rejecting or accepting the request and updates the DB based on their choice

3) a function in the class that returns all "pending requests" for a given user

Remove user as a friend

Use case: Either user can terminate the friendship. If either does, the connection is broken and both users are removed from each others lists.

Deliver: A PHP page and a function in the class to update the db accordingly

Favorites/favorites list

Use case: on a user's profile page their list of "favorites" and their list of "friends will be displayed

Deliver: A function in the class that given a username, returns either their favorites list, their friends list or both.

Invite friends

Use case: a user wants to invite his friends to join the site. So he enters their email addresses and an email is sent to all the friends with a link to join and become friends. The friend clicks on the link in the email and is directed to the site. They register (using my existing registration) and then when complete they are automatically added as a friend of the original user.

Deliver: A php page that takes in typed email addresses and sends out emails to with an invitation to the site. A php page that is linked to in the email (a very similar page (or the same page) as "Add user as a friend" but since the original friend has already approved the connection, it is automatically accepted).

Pending email friend requests

Use case: a user goes into their control panel to see which of their emailed friends has not clicked on the email invite

Deliver: A function in the class, that given a username returns a list of outstanding email friend requests, and when they were sent.

Coding/Naming conventions:

Since I've already got an existing login / user table, if you get the contract, I'll send you the db schema so we can ensure that fieldnames are consistent across my part of the site and your new addition. We can also chat about existing classes I have on my site that you may (or may not) want to use.

## Platform

PHP 5 & MySql 4.1 on apache

Engineering MySQL PHP Software Architecture Software Testing Web Hosting Website Management Website Testing

Project ID: #3592780

About the project

1 proposal Remote project Active Jun 24, 2006

1 freelancer is bidding on average $170 for this job

getclub

See private message.

$170 USD in 14 days
(5 Reviews)
3.8