Giter VIP home page Giter VIP logo

friend.ly's Introduction

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

friend.ly's People

Contributors

sovoid avatar vidhi-mody avatar vrushti-mody avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

friend.ly's Issues

docs: create a .env.example file with comments to keep track of all the required environment variables

Is your feature request related to a problem? Please describe.

We need to create a .env.example file that documents all the required environment variables used by the app. Some environment variables, if not present, will cause the app to crash. We want to add checks for these environment variables in the app.js files that throws an error and exits with an appropriate exit code indicating the absence of a required environment variable

feat: introduce prettier and eslint for linting and code formatting

Is your feature request related to a problem? Please describe.

We need to introduce prettier and eslint for better code formatting and linting. A precommit hook that checks for this will be a nice to have. This may lead to code refactoring in some files so requires an incremental approach.

feat: use IMGBB to store images rather than local file system

Is your feature request related to a problem? Please describe.

Currently, the app uses local file system to store media such as post images. If running on AWS, it stores the images on S3. We can use IMGBB to store images regardless of the platform on which the app is running

Describe the solution you'd like

Modify post handler to store images in IMGBB instead of storing it locally

Weekly Digest (4 April, 2020 - 11 April, 2020)

Here's the Weekly Digest for AlQaholic007/Friend.ly:


ISSUES

Last week, no issues were created.


PULL REQUESTS

Last week, no pull requests were created, updated or merged.


COMMITS

Last week there were no commits.


CONTRIBUTORS

Last week there were no contributors.


STARGAZERS

Last week there were no stargazers.


RELEASES

Last week there were no releases.


That's all for last week, please ๐Ÿ‘€ Watch and โญ Star the repository AlQaholic007/Friend.ly to receive next weekly updates. ๐Ÿ˜ƒ

You can also view all Weekly Digests by clicking here.

Your Weekly Digest brought to you by Hydrab0t. ๐Ÿ“†

feat: Integrate sentry for error logging

Is your feature request related to a problem? Please describe.

We want to better be able to monitor our error logs. We can use Sentry for this and winston on bunyan for local logging.

Describe the solution you'd like

Introduce sentry for logging our errors. The errors should be environment specific, that is, generating separate errors for dev and prod environments.

feat: investigate mongoose population to store posts rather than an array

Is your feature request related to a problem? Please describe.

Currently, we are using an array inside our user Schema to store posts that are made by the user. This however is not an ideal solution. We want to use mongoose's populate method to store posts for a given user. This will provide efficiency in deleting and adding posts for a given user and also manage likes and dislikes for the post.

Describe the solution you'd like

Modify the schema to introduce a new schema for posts. The new schema should link to the _id of the user for which it was created. Similarly the user should have an array of _id(s) for posts. We need to modify the end points for fetching and deleting the posts accordingly

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.