Coder Social home page Coder Social logo

rocknrollmarc / socializer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from socializer/socializer

0.0 1.0 0.0 2.12 MB

Rails engine to make your projects socials. Adds stream, profile, circles, groups and notifications.

Home Page: http://socializer.froggedsoft.com/

socializer's Introduction

Socializer License Gem Version Status

Build status Coverage Status Code Climate Dependency Status Inline docs

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.

Important notice

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].

Core concepts

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 :

  • Profile - you see all the activities of a single person
  • Circle - you see the activities performed by the people in that circle
  • Group - you see the activities performed by the people in that group
  • Home - you see everything from the people you connect with (groups, circles, yourself)

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.

Installation

Add this line to your application's Gemfile:

gem 'socializer', github: 'dominicgoulet/socializer'

And then execute:

$ bundle

Then:

rake socializer:install:migrations

Don't forget to migrate your database:

rake db:migrate

Getting Started

Todo

The todo list is as follows :

  • Finish core components (people, circles, groups, notes, comments)
  • Complete the activity stream (activities, audience)
  • Add notifications (notify a person when an activity affects them directly)
  • Add interaction with other networking sites (authentications)
  • Add a search feature (to find people, groups and notes)
  • Create a comprehensive html structure that can easily be templated in host applications
  • Package the engine cleanly (configurations, file names, etc.)

If you want to contribute

The best way to contribute is to do one of the following :

  • Creating tests
  • Refactoring
  • Coding features
  • Correcting logged issues
  • Correcting my English! (I'm a french Canadian, so don't hesitate to fix my sentences or whole paragraphs.)

License

Copyright 2011-2014, Dominic Goulet, http://www.dominicgoulet.com

MIT License - http://www.opensource.org/licenses/mit-license.php

socializer's People

Contributors

acmetech avatar dominicgoulet avatar martingoulet avatar

Watchers

RocknrollMarc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.