Answerable icon indicating copy to clipboard operation
Answerable copied to clipboard

Recommendation system for Stack Overflow unanswered questions

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
  • Contributors
  • Contributing
  • To do
  • License

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: Star this repository .

    :arrow_up: 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).
  • [x] ~~Add the option to just select questions that they would like to have answered (useful for users without answer history).~~ (Implemented, improvements required)
  • [x] ~~Allow user defined recommendation models.~~
  • [x] ~~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).
  • [x] ~~Display statistics about the information taken into account to make the recommendations.~~
  • [x] ~~Automatically check for new releases on GitHub.~~
  • [x] ~~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.