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
- [RethinkDB] (https://github.com/rethinkdb/rethinkdb)
- [Node.JS] (https://github.com/nodejs/node)
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
- Find the list of groups user is following
- 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
- Find the list of profiles (groups and indviduals) user if following -- NETWORK_MEMBER_LIST
- Generate feed of all the activities from all the social network profiles (includes NETWORK_GROUP_MEMBER_LIST Union NETWORK_MEMBER_LIST)
- Prettify feed by aggregrating similar feeds
- Aggregration by profile
- Aggregration by subject
- Monitor for any new updates (Live Change Feed) and display top in the feed
- Aggregating new updates (as mentioned in step 6 above) with similar feed items at the top of the feed list
- Allow user to perform social actions that can generate new feed items
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.
open sourced with MIT license
NOTE : THIS IS SAMPLE APPLICATION FOR DEMO PURPOSES. SOFTWARE IS PROVIDED 'AS IS', WITHOUT ANY WARRANTY.