{"id":42925005,"url":"https://github.com/tulibraries/gencon50","last_synced_at":"2026-03-11T14:16:43.004Z","repository":{"id":40167977,"uuid":"248851413","full_name":"tulibraries/gencon50","owner":"tulibraries","description":"Gencon 50 Best Years In Gaming Blacklight Upgrade","archived":false,"fork":false,"pushed_at":"2026-01-28T18:38:07.000Z","size":3290,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-01-29T08:58:46.680Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CSS","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/tulibraries.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-03-20T21:01:59.000Z","updated_at":"2026-01-28T18:38:09.000Z","dependencies_parsed_at":"2026-01-07T20:06:56.347Z","dependency_job_id":null,"html_url":"https://github.com/tulibraries/gencon50","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/tulibraries/gencon50","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tulibraries%2Fgencon50","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tulibraries%2Fgencon50/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tulibraries%2Fgencon50/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tulibraries%2Fgencon50/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tulibraries","download_url":"https://codeload.github.com/tulibraries/gencon50/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tulibraries%2Fgencon50/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28917034,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T16:37:38.804Z","status":"ssl_error","status_checked_at":"2026-01-30T16:37:37.878Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-01-30T18:07:36.643Z","updated_at":"2026-01-30T18:07:37.425Z","avatar_url":"https://github.com/tulibraries.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\ntitle: Blacklight Instance for The Best 50 Years in Gaming site (Version 2)\nauthor: Steven Ng\ndate: 2020-04-14\n---\n\n# Blacklight Instance for The Best 50 Years in Gaming site (Version 2)\n\n## System Requirements\n\nRequires Ruby 3.4.2\n\nThis Blacklight instance requires SolrCloud. A local version of SolrCloud may be run\nby using the TULibraries Ansible SolrCloud Playbook:\nhttps://github.com/tulibraries/ansible-playbook-solrcloud\n\nSolrCloud will require Docker...\n\n## Getting started\n\nClone the github repository locally and change into the directory\n\n    git clone https://github.com/tulibraries/gencon50.git\n    cd gencon50\n\n### Install\n\nInstall the gem dependencies (generally we do this in an rvm gemset)\n\n    bundle install\n\nRun the database migration\n\n    bundle exec rails db:migrate\n\nCreate the application file\n\n    cp .env.example .env\n\nand edit the `.env` content's `SOLR_URL` enviornment variable.\n\n## Configure for Solr\n\nConfigure dotenv to use SolrWrapper\n\n    cp .env.example .env\n\nEnsure .env contains\n\n    SOLR_URL=\"http://localhost:8090/solr/gencon50-1.0\"\n\nSolr may be run with Solr_Wrapper or SolrCloud (preferred).\n\n### Start up with `solr_wrapper`\n\nIn a separate terminal window:\n\n    bundle exec solr_wrapper\n\n### Start up SolrCloud\n\n    cd ../ansible-playbook-solrcloud\n    make up-lite\n    cd ../gencon50\n\nCreate a local user. Feel free to use your own email and password\n\n    bundle exec rails runner \" User.new(:email =\u003e 'test@example.com', :password =\u003e 'password', :password_confirmation =\u003e 'password').save!\"\n\nStart the Gencon50 application\n\n    bundle exec rails server`\n\nIngest some data\n\nTo seed the database with a csv file form the command line ,use the following command. Replace `path/to/datafile.csv`\nwith the path to the file to upload.\n\n    bin/csv2solr harvest path/to/datafile.csv --mapfile=config/solr_map.yml\n\nIn a web browser, visit http://localhost:3000 and search the Gencon programs for the first fifty years.\n\n\n## Running the Tests\n\nSetup for developing new request and feature tests\n\nTests require an instance of Solr to which to connect, and run once to record into the VCR gem test fixtures.\nTo update the initial index database to create these fixtures, go to the `ansible-playbook-solrcloud`, restart the SolrCloud\ninstance with `make up-lite`.\n\nTesting requires a fresh solr index. restart Solr Cloud instances before running these tests.\n\nIf you need to access Solr index to generate new tests, harvest the csv files in the spec/fixtures directory\n\n    LOADSOLR=y bundle exec rspec spec\n\nTo re-record VCR cassettes, pass the VCR arg to rspec\n\n    VCR=all LOADSOLR=y bundle exec rspec spec\n    or\n    VCR=all LOADSOLR=y bundle exec rspec spec/features/visit_site_spec.rb\n\nEnsure that requests to the Solr server are in VCR blocks set initially to record. For example:\n\n    VCR.use_cassette(\"responseDefaultIndex\", record: :once) do\n      get \"?search_field=all_fields\u0026q=\"\n    end\n\nNote the `:record` mode is set to once. After you perform this spec, change the record mode to `:none`.\n\nSubsequent runs of the specs should execute without need to connect to the Solr server. At this point, you may go to the\n`andible-playbook-solrcloud` directory and stop SolrCloud instance with `make down`\n\nExecute your specs with:\n\n    bundle exec rspec spec\n\n## CI/CD\n\nThis project uses GitHub Actions for continuous integration and deployment.\n\n### Continuous Integration\n- **Lint and Test**: Runs on all pushes to feature branches (branches other than `main`)\n  - Runs Rubocop for code linting\n  - Runs Brakeman for security analysis\n  - Runs RSpec test suite with SQLite3\n  - Builds and compiles assets\n\n### Deployments\n\n#### QA Deploy\n- **Trigger**: Pushes to `main` branch\n\n#### Production Deploy  \n- **Trigger**: Version tags matching `v*.*` pattern (e.g., `v1.0.0`, `v2.1`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftulibraries%2Fgencon50","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftulibraries%2Fgencon50","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftulibraries%2Fgencon50/lists"}