/Friend.ly

A social media platform with a friend recommendation engine based on personality trait extraction

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Contributors Forks Stargazers Issues
Codacy Badge CircleCI Build Status


Logo

Friend.ly

The internet is flooded with Social Networking Sites(SNS). Be it Twitter, Facebook or Instagram, SNS(s) are without a doubt one of the most popular methods of making friends in the virtual realm. One of the most important aspects of any SNS is the use of a Friend Recommendation System(FRS). Several different types of FRSs have been proposed but a feature that remains common to all of those is homophily, the propensity to associate people with similar others.

While homophily-based FRSs have proven to be extremely accurate in most circumstances, an essential area that still remains relatively unexplored in this domain is the use of personality insights for recommending friends.

With Friend.ly, we propose a novel FRS which leverages text-mining, personality trait extraction, sentiment analysis and hybrid filtering and show it to be having a better performance than most collaborative filtering based FRSs.
Report Bug or Feature Request · Raise a PR

Table of Contents

About The Project

Built With

This project would never have been possible without these wonderful frameworks and project.

Development

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Cloud Setup with GitPod

Gitpod can be used to develop Friend.ly in the cloud. All the commits, if any needs to be made to a branch using convention issue-# (issue-number-on-tracker).

Open in Gitpod

Prerequisites

Clone the repo and hit npm install.

  • npm
npm install

Startup

  1. Clone the repo
git clone https://github.com/und3fined-v01d/Friend.ly
  1. Install NPM packages
npm install
  1. Create a .env file in home directory with valid credentials as follows
TWITTER_CONSUMER_KEY=<your_twitter_consumer_key>
TWITTER_CONSUMER_SECRET=<your_twitter_consumer_secret>
TWITTER_CALLBACK_URL=<your_twitter_callback_url>
GOOGLE_CLIENT_ID=<your_google_client_id>
GOOGLE_CLIENT_SECRET=<your_google_client_secret>
GOOGLE_CALLBACK_URL=<your_google_callback_url>
WATSON_API_KEY=<your_watson_api_key>
WATSON_API_VERSION=<your_watson_api_version>
WATSON_URL=<your_watson_url>
  1. Start the project
npm start

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the Apache 2.0 License. See LICENSE.md for more information.

Contact

Project Link: https://github.com/und3fined-v01d/Friend.ly