Jump to content

Can we create social network in Processwire?


Vineet Sawant
 Share

Recommended Posts

Hello Everyone,

I'm new to Processwire, I've just learnt how to use it. I'm already loving it(just after 3days of using it).

Since I've already read a lot on how processwire allows you to create almost anything, so I was wondering if this can be used to create a Social Network?

I'm talking about a real Social network where people add each other as friends, share stuff, comment & rate things etc.

Its just a wild idea, if people can turn wordpress into a community site then why not Processwire, right?

I'd love to hear your thoughts and if you think its possible, please lead to the way of to do it.

Thanks for your time.

Edit: just for reference in future, I'm writing down some project features here.

Following are few features that this social network will have:

1. Login/ registration using email with mail verification(I have used Facebook login)

2. Profile page with at least basic information display with profile picture

3. Making friends, sharing/getting feeds

4. A forum like yahoo answers for allowing users to post & answer questions, they'll have scores as well

5. Documents sharing with friends - PDF,Doc, Docx, RTF, JPG, PNG, TXT, ODT, etc

6. Calendar for users to view birthdays of friends, add personal events, invites friends to events, add notes & to-do lists, store user's history on calendar(future feature)

7. Comments for everything(Facebook comments will suffice I suppose)

There are few more features but they are for later phases so not noting them right now.

Simple event calendar tutorial : http://processwire.com/talk/topic/2435-tutorial-howto-create-a-simple-eventcalendar/

Edited by vineonardo
Link to comment
Share on other sites

Sure why not?

Processwire got almost everything implemented what you need. 

You got User Management, Rights Management, you could edit pages via the normal frontend.

There are a lot of topics here describing how to change, add and edit pages through API. 

You finally need a lot of time and a bit of php knowledge and there u go. 

  • Like 1
Link to comment
Share on other sites

Sure why not?

Processwire got almost everything implemented what you need. 

You got User Management, Rights Management, you could edit pages via the normal frontend.

There are a lot of topics here describing how to change, add and edit pages through API. 

You finally need a lot of time and a bit of php knowledge and there u go. 

Thanks Luis, its very nice to hear this. 

Link to comment
Share on other sites

you should at least check out the showcase forums. 

there are a lot of pages showing the possibilities processwire offers. 

That's the first thing I did when I met Processwire. Sites are of variety of kinds & they're all very good.

The reason I asked this question was to be sure that Processwire could be worth investing time.

I'm looking to create user profiles with different features. For example, consider an intranet website for a college where students & college professors link together and college acts as a superior entity which is also a single common thing between professors & students.

Here, we'r looking at 3 different account types and they all have different features & accesses.

I'm trying to make something on the similar lines.

Link to comment
Share on other sites

Luis makes it sound easier than it is :), but if you have the time it's certainly possible.

Here are two examples of how to implement "adding friends" and "articles wall" just to give you an idea (written in the browser from my mind and very very very over simplified):

//adding a friend

$new_friend = $pages->get("template=user, name=$input->post->new_friend");

//assumes that a friends field of page type with all other users was already added to the users template
$user->friends = $new_friend;
$user->save;
//outputing a wall of articles only from the user and his friends

//creating a string with all the friends separated by a pipe character (OR) to put in the selector
$friends = "";
foreach($user->friends as $f){
    $friends .= "|" . $f;
}

//find the articles from the user ($user) and his friends ($friends) and render them
echo "<div id='wall'>";
foreach($pages->find("template=article, created_users_id=$user$friends") as $a){
    $a->render();
}
echo "</div>";

edit: modified the second example to use the buit in selector "created_users_id".

  • Like 4
Link to comment
Share on other sites

The only thing I would add to this idea is that, whilst it's possible to achieve, if you were aiming fir millions of users and many page relationships you would soon rack up a large database so would need to make sure that your PW selectors are well optimised and that your server can handle the traffic.

Technically it is possible but if it takes off and you're aiming at tens of thousands of users or above there are some other considerations is all I'm saying :)

  • Like 1
Link to comment
Share on other sites

The only thing I would add to this idea is that, whilst it's possible to achieve, if you were aiming fir millions of users and many page relationships you would soon rack up a large database so would need to make sure that your PW selectors are well optimised and that your server can handle the traffic.

Technically it is possible but if it takes off and you're aiming at tens of thousands of users or above there are some other considerations is all I'm saying :)

Thanks Pete. Yes there's a really good chance that the number of users will soon be over 10,000 in first 3 months. Also, I'm not a PHP ninja so I'm trying to understand every possible aspect of creating this site in PW. Your answer helped a lot.

Link to comment
Share on other sites

  • 3 months later...

Greetings,

It's been a few months.  How is it going Vineet?

I'm also in the process of building a couple of social network sites, and I'm sure others here in the PW community are doing similar sites.  I think it would be great to have as many details as possible available for the community.

Hope you are continuing to meet with success!

Thanks,

Matthew

Link to comment
Share on other sites

Hello Matthew,

I'm glad that you are working on a similar project.

While conceptually it's very clear to me that PW can make & run a good social network, due to my other projects I've not been able to actually work on Social Networking project.

But I'm working on a project that allows users to buy drama tickets online, which for a designer guy like me, is a big task.

This project has helped to understand PW better and made me confident.

I'm hoping to start the social networking project soon, I will keep this post updated with my learnings & experience.

For now, I can share my user registration & management experience, if you need it.

Also I can discuss the logic I've built for my social networking project. :)

I hope this help. Thanks for your interest.

Vineet

Link to comment
Share on other sites

Greetings,

Thanks Vineet. I'm lulling together information on this and related subjects for a ProcessWire documentation project. There are several sub-subjects within the larger subject of social network site.

I am planning to start a new discussion on the subject, but thought I woukd first aee what others are doing.

Thanks,

Matthew

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...