Giter Site home page Giter Site logo

jaladankisuresh / thinkbuddy Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 3.0 1.19 MB

A javascript bootstrapped social network built with NEAR (Nodejs, Expressjs, Angular2, RethinkDb) realtime updates using socket.io

License: MIT License

JavaScript 99.76% HTML 0.04% CSS 0.04% TypeScript 0.16%
social-feed realtime-updates nodejs javascript-applications social-network social-wall

thinkbuddy's Introduction

thinkbuddy

A javascript bootstrapped social network built with NEAR (Nodejs, Expressjs, Angular2, RethinkDb) realtime updates using socket.io

Generate social feed to the logged-in user by tracking user activity from the profiles he is following (individuals and groups), and subsequently aggregrating similar activities

Personalized Social Feed

Prerequisties

  1. [RethinkDB] (https://github.com/rethinkdb/rethinkdb)
  2. [Node.JS] (https://github.com/nodejs/node)

Usage

Intialization

Install application dependencies. From the application root folder, run the data initilization scripts in the following order

npm install

Load the sample data into RethinkDB Database (BuddyNetwork is the sample DB used, as configured at /configurations/config.js)

node initializers/initUsers.js
node initializers/initTargets.js
node initializers/initProfileNetwork.js
node initializers/initNotificationType.js
node initializers/initNotificationFeed.js

Run Express Server

node app.js

How does it work

  1. Find the list of groups user is following
  2. From the groups, derive list of all the users part of these groups -- NETWORK_GROUP_MEMBER_LIST -- Step 1 and Step 2 are required if the user feed is expected to include activity from fellow members of the groups user is following
  3. Find the list of profiles (groups and indviduals) user if following -- NETWORK_MEMBER_LIST
  4. Generate feed of all the activities from all the social network profiles (includes NETWORK_GROUP_MEMBER_LIST Union NETWORK_MEMBER_LIST)
  5. Prettify feed by aggregrating similar feeds
  • Aggregration by profile
  • Aggregration by subject
  1. Monitor for any new updates (Live Change Feed) and display top in the feed

Next Steps

  1. Aggregating new updates (as mentioned in step 6 above) with similar feed items at the top of the feed list
  2. Allow user to perform social actions that can generate new feed items

Contribute

You are welcome to do a pull request. It would greatly help this module if it could find more contributors to build it and test it.

License

open sourced with MIT license

NOTE : THIS IS SAMPLE APPLICATION FOR DEMO PURPOSES. SOFTWARE IS PROVIDED 'AS IS', WITHOUT ANY WARRANTY.

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.