{"id":14955688,"url":"https://github.com/fibut/bokatidindi","last_synced_at":"2025-07-25T20:10:09.056Z","repository":{"id":39584143,"uuid":"507061403","full_name":"FIBUT/bokatidindi","owner":"FIBUT","description":"Bókatíðindi","archived":false,"fork":false,"pushed_at":"2024-12-21T16:32:15.000Z","size":27992,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-14T11:46:18.701Z","etag":null,"topics":["catalog","rails","rails-application","ruby"],"latest_commit_sha":null,"homepage":"https://www.bokatidindi.is/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"eupl-1.2","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FIBUT.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":"2022-06-24T15:37:07.000Z","updated_at":"2024-12-19T15:36:54.000Z","dependencies_parsed_at":"2023-02-15T13:31:31.458Z","dependency_job_id":"b7d3b27e-e449-41db-aa73-0d861b60c640","html_url":"https://github.com/FIBUT/bokatidindi","commit_stats":{"total_commits":645,"total_committers":4,"mean_commits":161.25,"dds":"0.15348837209302324","last_synced_commit":"c09d2da0f09007eaeccf7a2576d4d0e46ff61bee"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FIBUT%2Fbokatidindi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FIBUT%2Fbokatidindi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FIBUT%2Fbokatidindi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FIBUT%2Fbokatidindi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FIBUT","download_url":"https://codeload.github.com/FIBUT/bokatidindi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234808940,"owners_count":18890087,"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":["catalog","rails","rails-application","ruby"],"created_at":"2024-09-24T13:11:33.274Z","updated_at":"2025-01-20T15:08:45.386Z","avatar_url":"https://github.com/FIBUT.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bókatíðindi\n\nThis codebase provides facilities for the following:\n\n- The online edition of the Bokatidindi book journal\n- Data entry for the online and print versions of the journal\n- XML services for the print edition\n\n## Licence\n\nThe source code published in this repository is published under the European\nUnion Public Licence (EUPL) version 1.2. You can view the full license text in\nthe [LICENCE](./LICENCE) file or at\nhttps://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12.\n\nThe licence does not cover any published information on bokatidindi.is, logos\netc, which are the intellectual property of FÍBÚT, its members or 3rd parties.\n\n## Minimum Requirements\n\nBókatíðindi requires the following to work:\n\n- Ruby 3.1.2\n- Rails 7\n- Postgres SQL\n- MySQL (for database dumps from FÍBÚT)\n\n## The development environment.\n\n- Run the local web server using `rails s`. You can stop it using `ctrl-c` at any time.\n- Push and checkout code regularly.\n- Do (`git fetch --all` and `git rebase master`) if you are working on a single branch for too long.\n- In case there are database updates, make sure to run `rake db:migrate` every time you checkout from the main branch.\n\n### Setting up Postges\n\nInstall the Postgres database server with `brew install postgresql` (Mac) or\nuse your Linux package manager.\n\n```\n# Log in as the Postgres user.\n$ sudo -i -u postgres\n\n# Create a Postgres user role for yourself.\n# Type in your username as the \"name of role\" (i.e. hallakol or aldavigdis).\n# Answer any question with 'y'.\n$ createuser --interactive\n\n# Exit the sudo session\n$ exit\n```\n\n### Setting the environment up using RVM\n\n```\n$ rvm install 3.1.2\n$ rvm use 3.1.2\n$ bundle install\n$ yarn install\n$ yarn build \n$ rake db:create\n$ rake db:schema:load # or rake db:migrate\n$ rake db:seed\n$ rake bt:attach_covers\n```\n\n## The production environment\n\nWe are currently hosting at Heroku. Our staging instance can be reached at\nhttps://bokatidindi-staging.herokuapp.com/. Google Cloud Services is used for\nstatic content and related services.\n\n### Deployment\n\n```\n$ git push heroku main\n```\n\n### Resetting the production database\n\n```\n$ heroku pg:reset DATABASE --confirm bokatidindi-staging\n$ heroku run rake db:schema:load\n$ heroku run rake db:seed\n$ heroku run:detached --size standard-2x rake bt:attach_covers\n```\n\n## ActiveJob and GoodJob\n\nThe system uses [GoodJob](https://github.com/bensheldon/good_job) for handling\nbackground jobs; image processing in particular.\n\nSetting the environment variable `JOB_EXECUTION_MODE` to `external` will enable\nthe GoodJob external processor, which runs in a separate worker dyno on Heroku\n(defined in the Procfile). This should be done during high season, when we are\nexpecting a lot of incoming registrations.\n\nDuring low season, the default value of `async` can be used. This enables us to\ndisable the worker dyno to save money on hosting, as the processing happens\nasynchronously in the web server process. Note that the memory use may jump well\nabove 512 MB during image processing, so do make sure to tweak the\n`GOOD_JOB_MAX_THREADS` environment variable to account for that.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffibut%2Fbokatidindi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffibut%2Fbokatidindi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffibut%2Fbokatidindi/lists"}