Rails engine to make your projects social. Adds stream, profile, circles, groups and notifications.
Socializer is a rails engine fully dedicated to adding social network capabilities so you can focus on what really matters.
It is designed based on the Wikipedia definition of social networks and the excellent spec from activitystrea.ms. Yes, it may look like a Google+ clone, but Google did a great job implementing the social network definition. And yes, it does a lot less than Google+, we don't have 400 developers on the project.
Socializer is not ready for production yet. It's a work in progress. If you would like to get involved, fork and work! Or contact me at [email protected].
People are connected with each other in numerous ways. First of all, they can signify to another person that they want to be connected with them by adding them to their circles. The association between a person and a circle is called a tie. This link is not direct and does not force each person to have the same link. For instance, one person can classify the other as a 'friend', while the other person will return the favor by adding them to their 'colleague' circle. Second, groups are a link between people where all members share the same level of connection with each other. They are all members of the 'Project X Research Group'. The association between a person and a group is called membership.
Like any other social networking application, you can post notes. Notes are pieces of information (currently only text is supported, but pictures, videos, files and more are coming) that you want to keep for posterity.
When you perform actions in Socializer, there is a log of your activities. Activities are shared with an audience. Let's say you perform the action of creating a note. While creating a note, you will have to specify the audience for that note. You can choose between 'Public', 'All your circles', any of your circles, any of your groups, and any of the people you are connected with.
People can view the activity stream with different filters :
When viewing a stream, people can comment on any of the objects in the stream.
For registration and login, Socializer is currently using omniauth with the following providers: LinkedIn, Facebook, Twitter, Yahoo, Google and Identity. Once your account is created, you can bind multiple authentications to your account. This will be used later on to share your activities with other networking sites.
Add this line to your application's Gemfile:
gem 'socializer', github: 'socializer/socializer'
And then execute:
$ bundle
Then:
bin/rails socializer:install:migrations
Don't forget to migrate your database:
bin/rails db:migrate
The todo list is as follows :
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
The best way to contribute is to do one of the following :
Socializer is available as open source under the terms of the [MIT License] (https://opensource.org/licenses/MIT).