{"id":21113633,"url":"https://github.com/bencornelis/monsters","last_synced_at":"2026-05-06T19:32:49.492Z","repository":{"id":94219453,"uuid":"42826861","full_name":"bencornelis/monsters","owner":"bencornelis","description":null,"archived":false,"fork":false,"pushed_at":"2018-03-19T03:56:05.000Z","size":4164,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-21T04:41:29.127Z","etag":null,"topics":["ancestry","capybara","devise","factorygirl","faker","presenters","pundit","rails","rspec"],"latest_commit_sha":null,"homepage":"https://blooming-mesa-35436.herokuapp.com/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bencornelis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-09-20T19:45:56.000Z","updated_at":"2018-03-19T03:56:06.000Z","dependencies_parsed_at":"2023-04-18T08:18:33.980Z","dependency_job_id":null,"html_url":"https://github.com/bencornelis/monsters","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bencornelis%2Fmonsters","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bencornelis%2Fmonsters/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bencornelis%2Fmonsters/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bencornelis%2Fmonsters/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bencornelis","download_url":"https://codeload.github.com/bencornelis/monsters/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243560194,"owners_count":20310868,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ancestry","capybara","devise","factorygirl","faker","presenters","pundit","rails","rspec"],"created_at":"2024-11-20T01:57:24.185Z","updated_at":"2025-12-28T19:18:58.502Z","avatar_url":"https://github.com/bencornelis.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Monsters\n\nLink aggregator site based loosely on [Hacker News](https://news.ycombinator.com/) and [hubski](https://hubski.com/).\n\nhttps://blooming-mesa-35436.herokuapp.com/\n\nLogin\n* username: `testuser`\n* password: `foobar`\n\n### Features\n\n* CRUD operations on posts and comments\n* posts can be ranked by score or time\n* comments are ranked by score\n* posts are tagged with multiple tags and can be filtered by tag\n* users can follow and unfollow other users\n* users can share posts and comments with followers\n* user feed consisting of posts that have been shared by a user's followees\n* users are assigned badges after receiving shares and can badge posts and comments\n* user statistics on user profile\n\n### About\n\nMy goal with this project was to learn more about Active Record associations and experiment with some rails design patterns. It uses:\n\n* RSpec, Capybara, and Factory Girl for testing\n* user authentication with devise\n* user authorization with pundit\n* user roles with rolify\n* ancestry for nested comments\n* goldiloader for automatic eager loading\n* pagination with will_paginate\n* presenter design pattern for views\n* Hacker News formula for post and comment ranking\n* Faker data for database seeding\n* Select2 jQuery select box for autocompleting tags via AJAX\n* jQuery modals for displaying views with AJAX\n\n### Setup\n\nTo get started run:\n* `docker-compose up`\n\nIn another terminal run:\n* `docker-compose run web bundle exec rake db:create`\n* `docker-compose run web bundle exec rake db:migrate`\n\nNavigate to `http://localhost:3000` in your browser.\n\nTo seed the database with some users, relationships, posts and comments, run:\n* `docker-compose run web bundle exec rake db:seed`\n\nTo explore the app without having to sign up and email confirm, feel free to use the login:\n* username: `testuser`\n* password: `foobar`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbencornelis%2Fmonsters","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbencornelis%2Fmonsters","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbencornelis%2Fmonsters/lists"}