Friendser/thefacebook Clone script

See also: [url removed, login to view] and [url removed, login to view]

I'm gonna try to point out all the basic points of the site. However, I do not do it because I want all of these things in the site immediately, but only because I want to make sure that we are all aware of what the essential features/outcome should be (though these things are not limited to what I say here). I say them so that you can keep them in mind when designing the code/interface/whatever, so we don't box ourselves in.

Intro: All that I want set up in order for the site to go live is basically everything that [url removed, login to view] has right now, only with all colleges and a message board and a guest book. And there is one other major difference in regards to privacy and who sees the pictures that will be explained below. There is also a difference when it comes to how the shit looks with advanced features off/on, this will be explained as not required to be in at first since we will probably lack the advanced features, but should be kept in mind for the future, hence in the foundation of the code. There are minor differences when it comes to some info/interests/martial status and what they look for, but these are copied from facebook and altered in order to be better. The rest of the shit that I suggest here, if possible to be added right off the bat, should be, if it would take longer, should be saved until the site is live; nevertheless, they should be kept in mind as you code.

Finally, this is primarily a friends site NOT a dating/matching/rating whatever else. A friendster type website only. Oh and please, pay attention to the difference between default, simple, and advanced feature suggestions. Default means this is how it should run when user is on and does not adjust anything. Simple is there to suggest that it is what he will have until he switches to advanced view and opens the advanced features. But if he clicks go back to default while having his advanced view open, it should do it, obviously.

(If anything does not make sense, ask me, especially if it is essential, do not guess.)

1. Essential essential features: These features must be incorporated for the site to go live.

A. undergraduate colleges: This section outlines the basic features of undergraduate colleges. We will leave the graduate/high schools for later.

Import a list of all colleges from somewhere online, either [url removed, login to view] or whatever. If you need help finding it, I will do it. I want all of them on the site. I thought about the bandwidth problem but that is not currently a concern. You can always subtract them if shit hits the fan. The big difference between this website and facebook would be the number of colleges.

First thing's first, adding friends. They should be added like on friendster and facebook. Default/simple feature: They should be visible to the signed up accounts only. Advanced feature: Unlike facebook but I think similar to friendster, you should allow your friend list be visible to either public, signed up accounts, to those on your friend list, to customly selected people or to no one.

note: do not forget to allow users to be part of the network of friends like on facebook. I'm not 100% sure how it works. I have 100 or so friends, but I'm in a network of 2500. When I click some people's profiles, I see that I'm connected to this person through 1 or 2 or 3 people. Maybe make it like that.

Second, facebook has ability to add girlfriends/boyfriends if you are in a relationship. Go into facebook to see how this works, it is rather peculiar and there is no need for me to go over it here. Either copy it or wait until later, for I do not think it is necessary. Since I'm not sure how hard the code is, you decide. If you don't do it, make sure you code it so you can do it later.

Third, profile itself. Default/simple: Basically copy everything facebook has right now. Interests. Movies. Books. Personal info. I'm not going to go through the categories because I'm guessing and I hope to god you can add/delete these fields with copy/paste or whatever once the code is in because that is really essential for the future. Advanced feature: There needs to be some sort of a code eventually with which you can improve your info. I would prefer to have it be html if that is possible without fucking something up. I would prefer to have it be ready to incorporate pictures in the (far) future when our bandwidth can handle it. (Picrave used to allow pictures in its profiles). So basically it becomes a webpage. I do not want a limit on the amount of text you type into the Info section.

Fourth, college organizations. I noticed facebook having those. But thinking about it I think that they are simply the presidents or whoever is in control of the club's email adding their accounts like every other user. Look at BU on facebook for example. If I am wrong, then figure out what is up or talk to me. Or just keep this shit in mind.

Fifth, instant messages. Basic facebook stuff with one change. Default: People should be able to IM each other on there. Difference is, IMs should be pop ups. I don't care if browsers don't accept pop ups. If you can, code an option that allows users to turn off pop ups and accept IMs the facebook way, but this should be an option and the default should be pop ups. Advanced: I want to try to have sound and (later) video, i.e. camming, in the instant messenging windows that pop up. That will be real time, not saved on server. I.E. you can't record video/sound and send them to offline users but if you send an IM to another user, and he's online, it would work like a yahoo window and they can start a convo or a video session. This was done on facethejury.com. I think they stopped doing it due to bandwidth. However, I would like to have this to be a potential option to keep it in mind.

Advanced note: I would like to allow users to be able to mass message. This would be good for letting all their friends know stuff, or whatever. We wouldn't have to worry about spam since if it pisses someone off they can simply take off that user from their friends list. You should be able to message ONLY all of your friends, not people in your network.

Simple note: I thought about it, and it would be helpful if the option to turn off popups was also in the popup window. To turn it back on they'd have to go into their profile options or something. Also, if they do turn off popups, I don't want to limit the alert to the home page of their profile like on face book. Most active users are on the message board. It should be a small text alert on the side or on the top somewhere that (when you refresh) will say &quot;X new message(s).&quot;

Advanced privacy note: You should be able to turn off the ability to receive messages from non-friends, or even from friends. They should also have the option to ignore/block individual users.

B. Pictures

Lets start off with 320x320 or so pictures, total number of 5, JPEG/GIFs only. Code it so you can lower or increase the number allowed. We may have to take it down to one if bandwidth gets high, or increase it higher if we go pay. Make it so they don't need approval, but code it so if we must turn approval on, it can be done.

C. Search (keep in mind that there should be simple search and advanced search, though this advanced should be put in when the site goes live)

I feel content with the search on facebook. However, there is a problem on facebook (try searches) if in the advanced search you look for people with specific majors or something, it seems to return users who did not have those majors selected. I think the search word for major like philosophy is &quot;philosophy&quot; and it scans the entire profile. This is pretty bad coding. It is more overt when you go into your or another person's profile and click on the book/movie/interest and it gives you a result with people who do not have that book in their favorites book list but maybe have the book's name as part of a name of some movie or something. Finally, in the advanced search I only see interests, I don't see the ability to search by favorite book, etc, that's kinda stupid. Obviously keep it open ended so I can add more fields if I need to. Since we'll have all colleges in the same place, one of the fields should be the colleges drop down menu with the ability to leave the field blank - i.e. search all colleges. The list of dorms should be typed in, not selected from a drop down menu like on facebook because we will not automate this part.

One note: on facebook and most other sites like [url removed, login to view], if in the search field that referrs to the other person that says &quot;looking for&quot; you select men (on facethejury you select heterosexual) then the search results will not include those users who have written in their profile that they are looking for &quot;both&quot; (or bisexual on facethejury). This is obviously flawed since both means men and women and should be fixed.

Another note: on facebook users are displayed by their name, As first, then Bs, etc. We should have ours listed by date last logged in as default. You should be able to change this option in advanced search, and be able to have it ordered by name, date joined, last active, etc.

CC. Browse

This would be a little different from facebook since we have all colleges and not one site per college. When users click the &quot;browse users&quot; button, they should be simply taken to a list of 10 users that would be displayed if you went into search and chose your college from the list and clicked ok without filling anything else out. There should be a &quot;browse all&quot; button which is simply a search with nothing filled out, so they can browse all users of our site. We don't need anything else since we have search for that.

D. forums

We need forums. Start off with your standard PHPBB.

E. Guestbook, yes I'd like to have it up before the site goes live.

Default: Everyone on the site would be allowed to leave messages. Whoever is leaving the message should have the option for it to be private only.

Advanced privacy: you should be allowed to control who leaves the messages: no one, everyone, people in college, people on your list, so on and so forth.

1.5 Essential features: These features are secondary, but essential to making the website popular and interesting.

A. graduate schools

We will worry about this after the undergraduate is running. However, I would like it to be similar, though we may end up changing some minor details around.

B. high school

Same as above. There are more high schools though, and there's a problem of age, as well as email, so this thing is more cautious.

C. Privacy

This is important. Lets have it defaulted as such: when on facebook you search for people outside of your college, you get a displayed list of people with thumbnail pictures (or no pic if they have none) some info about them, ability to IM or add to friends, but not ability to go to their profile. Lets do this as default for everyone, even if they have no account. So if you're not logged in, you can still search/browse through everyone of our users, you'll see their thumbnail, FIRST name only, couple lines of info, but wouldn't be able to go to their profile or enlarge the pic. Advanced: However, in the future, I would like to have the option that lets users choose whether their profile is closed or not. And they should have several options to choose from (whether it's open to people on their friends list only, people on their secret friends list, people in their college, people on the site, etc) In the advanced options they should also be able to disallow logged out users from seeing them even as thumbnails. They should NOT be able to allow logged out users to see their profile. I want that option to always be off, as it forces people to sign up.

D. matching (advanced)

This is just like a normal search (but a different search, call it match search or whatever), where you select what people want, what they like, and you see who matches it. I'd like to have the ability to do this like a friends thing, only it'd be a match (more dating wise). So people would search, then from the list they receive, they can say &quot;match him&quot; and the other user gets a thing that says &quot;you've been matched, accept/deny.&quot; This should be optional, and set to off as default. If it's off then nobody can match you and your name wont come up when they do a match search. The key is that you can only match those people that come up after you do the match search. You shouldn't be allowed to match people if you do a normal search, because there people who selected &quot;i dont wanna be matched&quot; will come up, etc.

E. rating (advanced)

This should be off as default. I'm not going to work out specifics yet, nor do I have a heart set on this. But if it is possible to put on top of the normal code, it may be good. You could rate people like on most rating sites, you'd have top lists for top rated people, so on and so forth. It's good because it helps the community grow and be active.

F. voting (advanced)

This should also be off as default. Same as E. Instead of rating you'd be voting for people. This is a more intricate system, [url removed, login to view] used it, it's very excellent if done right because it's less superficial than rating. You basically get a limited number of votes or points or whatever per a certain time. Then you can give these points/votes out to others, on a certain scale, 1-10 for example. Then of course you'd have top lists for most popular. Votes on picrave were different from ratings because it's less based on looks and more based on you begging for them from people. Your rating can go down, but your vote number cannot (except of course when it is reset at the end of the period).

G. clubs on facebook only (advanced)

This would be like people setting up their own groups or whatever. It's good for the community. You'd need a certain number of people to start a group, once one person wants to start one up, he asks them, once they all say ok, then it's official. Then we could have top lists for biggest groups, most active groups (posters for ex.), whatever.

H. events/news (advanced)

Colleges have events happen, or the towns the college is in. People should be able to post these in their profiles and/or submit them to have it displayed on the college home page. The approval should be automatic, but if we must go to manual and have to authorize them later, then we should be able to do it. This would also be a good thing to be able to rate. Then have the top rated events displayed for anyone who wants it. Obviously we could use a special search, where you choose the type of event you want, the date you want, perhaps the rating, the place, etc. Then maybe you could say &quot;yes i wanna go to it&quot; with option to have it be known publicly or privately (seen by friends only). Users would then be able to see all the people who are going to the event (those who chose to be known publicly of course).

I. college home pages (simple)

Once users log in, they should be taken to the home page of their profile, like it does on facebook. However, if they click the link &quot;home&quot; after they've logged in, they should be taken to the home page of their college. There they should be able to see the current news/events, whatever is going on. Maybe some featured random member from their college. The usual shit. Have this page be easily customizable in case I need to update it. Every college should have one.

J. top lists (advanced)

It would be good if we could have top lists for stuff. People are always obsessed with being on the top. Top users with most friends, top users with most enemies, top rated users if we have ratings, etc.

K. enemies or other types of people who are not friends (advanced)

This would be kind of cool I think for later. People would be allowed to start feuds with others. It's a bit tricky and different from friends though. Friends you get to confirm (the reason btw for confirmation is so strangers don't add you and it's more personal, if you need more explanation, ask me), enemies you shouldn't be able to confirm, since that defeats the purpose. But if you don't confirm them then strangers could add you. So I think it would be good that you should be allowed to start a feud, the other person would get a message saying you started it, but only you two will know. Except on the other person's page it would say he's in X number of feuds/he started X out of X number of them, same for the first person. Finally, once the user has 10 people start a feud with him, then it becomes public. The pages of those 10 people will display his name under the enemy thing, and on his page it will show who started the feuds with him. Now everyone who starts a feud with him will have it public. However, the feuds he starts will remain private until the person(s) he starts the feud with have had the same fate happen to them (i.e. certain # of people have started feuds). This is a rather advanced features but it would be interesting.

L. secret friends (simple/advanced)

Works like adding friends, except they don't have to confirm. When you do this, you should be able to select whether the other person should know that you are his admirer or not. If not, they will know they had an admirer but won't know who. If yes, then they will know you are the admirer. However, regardless of what you select, your page would not publically display that you are an admirer of anyone. Also, regardless of what you select, the other person's page will display the number of secret admirers he has. That should be set to default. He should be able to change whether or not this number is public if he has advanced options on.

M. blogs (advanced)

You should be able to have a journal on your page. As always, privacy is a factor, and you should be able to choose who sees it, whether it's public or private or whatever. Users should be allowed to leave comments to every entry, so on and so forth. This should be incorporated soon, it seems to be popular now a days.

2. Community features: These are features that keep the community active and growing. They should be incorporated as soon as possible.

A. Message board. already discussed.

B. Guest book. Discussed above.

C. Instant Messages. Discussed above.

D. newspaper/articles

This would be a later feature (but not too late). It would be interesting if each college could have their own online newspaper. You'd have a regular staff, but as in all papers, users can submit editorials. It would be published weekly at first. Paper would be visible to the public, found on college's home page. People should be able to subscribe to it and receive it through email and as a link in their profile or whatever. Coding would probably be similar to starting a group. Once the paper is done, they would submit it to me or you or whoever, we will not censor it, and it will be stuck on the college's home page. If possible, then their president or whoever, should be able to skip sending it to me and simply upload it himself. He should only be allowed to do it during a certain time and wouldn't be able to take it off once it's on. It should automatically archive each week.

Newspaper aside, users should be able to submit articles on their own. They would have to be approved, I'll do it at first unless we get someone else. This doesn't really require code, just an upload and an ability for me to stick it to the college's home page, which is where they will be found. Later it would be nice to allow the articles to be rated. They can be on anything.

E. events. discussed.

F. Blogs. discussed.

3. Network features:

bandwidth

I'm not sure why I put this category up. There are no real features for network. We just have to remember that this site will use a lot of it and act accordingly.

4. Interface: This part is extremely crucial, as it could make or break us. There are two main pages that are most important, the front page, and the logged in page for first-time users.

Home page: Must be clean/simple. Some message about this being a community for college people. Link to register. Box with login. If users select &quot;remember me&quot; they should be redirected to their logged in page, which is their profile home page. If the home page is complicated, people will leave.

Future note:

Logged in page: Once users log in, they should be taken to the home page of their profile. As a default, the interface would be simple. You'd have links to home page of college, search, browse, friends, personal info, contact info, msg board etc. just like facebook. If you got private messages or if someone added you as a friend or as anything else, you'd see the alerts. Though private messages should be popups. There should be a link for advanced view, if they click it, then there'd be a link that takes them back to simple view. In advanced view they would be able to customize all the shit that I've described above. If they stay in advanced view, then it should remain if they log out and back in.

note: personal info is different from home page for personal profile. check facebook for difference.

note 2: i'm guessing this goes without saying but just in case: new buttons should appear once the user is on their personal home page, like on facebook. these would be like, edit my info, edit my friends, whatever. it would be too cluttered if they're always there, like when users post on the forum, they'd get in the way.

Logged out page: if users log out, they should go back to the main page. They should be able to browse others as stated under the privacy info.

advanced/simple interface

simple interface should be default. It would just display the basic shit that you see on facebook and that I explained above. If users click advanced tab, they'd have some more links, they'll have the ability to do stuff like rate others, whatever. The point is that we should not make this stuff complicated, with a thousand options to do stuff, it scares people away. Our primary concern is to allow people to add friends, everything else is advanced, pretty much.

5. Misc

A. Donating

I wanna allow people to donate money somehow. Maybe have a special forum for them, a top list, some other shit.

B. Paying for more features

In the far future, if the bandwidth starts getting too expensive, we will have to go pay. I don't wanna make money off the site but I'm not gonna go broke either. It'd be some 5 bucks a month shit, or a certain # for permanent. It'd allow users to have more pictures, do video/audio chat, or whatever else.

Looking to make some money?

15 freelancers are bidding on average $438 for this job

Dear Sir. Thank you for providing the full information. We had carefully examined your requirements and are glad to tell you, that all of them can be considered. We will help you to create a really professional and oriMore

We have developed same kind of modules for more than 6 websites so we can give you best layout and codding with full security and encyptions. As you know we work for clients and then never claim that its our work as peMore

Hi, we are an efficient and dedicated team of professionals with more than 7 years experience in the I.T. indusrty and more than 100 quality projects to our credit. We offer free web hosting for a period of one year. OMore

H solutions pvt. limited (PAKISTAN"S BEST WEB DEVELOPMENT FIRM )having a staff of well over 1000 web degsiners /programmer with profrssional rankings have completed more then 450 projects like this one sure to make a gMore