fpsvogel / wikistumble-rails

Discover Wikipedia articles through personalized recommendations, StumbleUpon style.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Wiki Stumble

Welcome to the Wiki Stumble codebase. This app started out as an exercise which you can read all about on my blog. I'll be expanding it as I read Jason Swett's Complete Guide to Rails Testing, applying its lessons to the app.

Table of Contents

Why this is on my GitHub portfolio

In this app I wrote a comprehensive RSpec test suite for the first time. (My previous experience had been mostly with Minitest.) I also had to get creative to work around the limitations of the Wikipedia APIs.

The result is an app that surely can (and will) be improved and expanded, but is nevertheless an original solution to a previously unsolved problem: how to explore Wikipedia without the hit-or-miss results of totally random pages, and without slogging through long topic lists. In Wiki Stumble, the user gets personalized recommendations of articles based on user-selected categories and also based on the user’s reaction (thumbs up or down) to previous recommendations.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/fpsvogel/wikistumble-rails.

Requirements

  • Ruby 3+
  • Node.js 14+
  • PostgreSQL 9.3+

Initial setup

  • Checkout the wikistumble git tree from Github:
    $ git clone git://github.com/fpsvogel/wikistumble-rails.git
    $ cd wikistumble-rails
    wikistumble-rails$
  • Run Bundler to install gems needed by the project:
    wikistumble-rails$ bundle
  • If this is your first time using PostgreSQL, log in to PostgreSQL and create a user:
    $ psql -U postgres
    postgres=# create role "your_username" login createdb
    postgres=# exit
    
  • Create the development and test databases:
    wikistumble$ rails db:create
  • Load the schema into the new database:
    wikistumble$ rails db:schema:load
  • Seed the database:
    wikistumble$ rails db:seed

License

Distributed under the MIT License.

About

Discover Wikipedia articles through personalized recommendations, StumbleUpon style.


Languages

Language:Ruby 79.6%Language:HTML 17.2%Language:SCSS 1.4%Language:JavaScript 1.4%Language:Shell 0.2%Language:Procfile 0.1%