Skip to content

Recommendation system for Stack Overflow unanswered questions

License

Notifications You must be signed in to change notification settings

MiguelMJ/Answerable

Repository files navigation

logo

Answerable

Recommendation system for Stack Overflow unanswered questions

v1.1 license all-contributors python3.8 documentation code style: black

Answerable helps you find questions to answer on Stack Overflow.

Preview

preview

Table of contents

Quick guide

[TOC]

  • Clone the repository

    git clone https://github.com/MiguelMJ/Answerable.git
  • Install dependencies

    pip install -r requirements.txt
  • Save the user (see how to get your relevant user information)

    python answerable.py save -u ID [-t FILE]
  • Get information of your profile

    python answerable.py summary -u ID
  • Get recommendations

    python answerable.py recommend -u ID

To see a more complete guide, visit the wiki.

Contributors

[TOC]

Thanks to the people that have contributed to this project: (emoji key)


Dennis Lee

🐛 📝

dan1st

📖

This project follows the all-contributors specification.

Posts

Contributing

[TOC]

  • Find the contributing guidelines in CONTRIBUTING.md.

  • You can also contribute by testing the program yourself and reporting any issue .

  • Support this project!

    ⭐ Star this repository .

    ⬆️ Upvote it on Stack Apps and comment your feedback.

To do

[TOC]

  • Allow users with too many answers choose which ones to use.
    • Use X newest, X most popular or the whole activity history (maybe add a time estimation for this last option, as it could take several minutes to retrieve it all).
  • Add the option to just select questions that they would like to have answered (useful for users without answer history). (Implemented, improvements required)
  • Allow user defined recommendation models.
  • Make documentation for making recommendation models.
  • Store the last recommendations and update them instead of ignoring them in future calls.
    • Update means:
      • Remove already answered/closed/marked as duplicate ones.
      • Add the rest to the recently received, before applying the recommendation algorithm.
  • Add a command to manage the cache, instead of requiring the users to do it themselves.

Low priority

  • Include the rest of the Stack Exchange communities.
  • Make a GUI.
  • Add flexible filters (Don't show questions with negative score e.g).
  • Display statistics about the information taken into account to make the recommendations.
  • Automatically check for new releases on GitHub.
  • Try out more learning models and integrate them.
  • Adapt behaviour for users with authentication token.

License

[TOC]

Answerable uses the MIT license, a copy of which you can find here, in the repository.