{"id":13558109,"url":"https://github.com/dklisiaris/bibliography","last_synced_at":"2026-01-10T04:57:43.026Z","repository":{"id":25028502,"uuid":"28447972","full_name":"dklisiaris/bibliography","owner":"dklisiaris","description":"Bibliography is a book cataloging web application with social features.","archived":false,"fork":false,"pushed_at":"2023-03-08T19:47:43.000Z","size":11407,"stargazers_count":5,"open_issues_count":22,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-04T08:37:28.420Z","etag":null,"topics":["bibliography","book-catalog","rails","ruby","social-network"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dklisiaris.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2014-12-24T12:14:59.000Z","updated_at":"2022-02-19T17:01:50.000Z","dependencies_parsed_at":"2024-11-04T08:32:08.671Z","dependency_job_id":null,"html_url":"https://github.com/dklisiaris/bibliography","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/dklisiaris%2Fbibliography","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dklisiaris%2Fbibliography/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dklisiaris%2Fbibliography/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dklisiaris%2Fbibliography/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dklisiaris","download_url":"https://codeload.github.com/dklisiaris/bibliography/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247002529,"owners_count":20867472,"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":["bibliography","book-catalog","rails","ruby","social-network"],"created_at":"2024-08-01T12:04:45.076Z","updated_at":"2026-01-10T04:57:42.924Z","avatar_url":"https://github.com/dklisiaris.png","language":"Ruby","funding_links":[],"categories":["Ruby","ruby"],"sub_categories":[],"readme":"# Bibliography - Book Catalog App\n\n[![Dependency Status](https://gemnasium.com/dklisiaris/bibliography.svg)](https://gemnasium.com/dklisiaris/bibliography)\n\n![Logo](https://i.imgur.com/gyYUq4R.png)\n\nSource code of [BibliographyGR](https://bibliography.gr) Web Application\n\n## Description\nBibliography is a catalog for books and authors of Greek national bibliography which provides a public API to 3rd party book services.\nOn top of that, libraries or individual users can create collections of their books and users can see where they can loan the book they want.\nSome social features are available too.\n\n|      | Url         |\n|------|:------------|\n| home | https://github.com/dklisiaris/bibliography |\n| bugs | https://github.com/dklisiaris/bibliography/issues |\n| docs | http://www.rubydoc.info/github/dklisiaris/bibliography/master |\n\n## Installation\nThis section's target is to help setup the app and get it running locally.\n\n__Software requirements__\n\n- [Postgres 9.1+ with contrib-packages](http://www.postgresql.org/download/), on Ubuntu check this quick setup [guide](https://gist.github.com/dklisiaris/3c1cd76c28ab86c8ee9c)\n- [Redis 2.6+](http://redis.io/download), on Ubuntu check Digital Ocean's [guide](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-redis)\n- [Elasticsearch 2+](https://www.elastic.co/downloads/elasticsearch) (Optional)\n- [Ruby 2.0+](http://www.ruby-lang.org/en/downloads/) (we recommend 2.0.0-p353 or higher)\n- [node](http://nodejs.org) ([on github](https://github.com/joyent/node))\n- [bower](https://github.com/bower/bower) (\u003e= 0.10.0) installed with npm\n- [imagemagick](https://www.imagemagick.org/script/index.php)\n\nClone repository\n```\ngit clone https://github.com/dklisiaris/bibliography.git\n```\n\nInstall depedencies\n```ruby\n# Go to the root of the app\ncd bibliography\n\n# Install ruby gems\nbundle install\n\n# Install javascript libraries\nrake bower:install\n```\n\n\n\nAll sensitive information is stored in environment variables.\nWe use dotenv gem to manage these vars.\nCreate a file named `.env` in the root folder and export environment variables as seen below:\n\n```ruby\n# Database credentials in development\nexport DEVELOPMENT_DATABASE_USERNAME=db_username\nexport DEVELOPMENT_DATABASE_PASSWORD=db_password\n\n# Database credentials in production\nexport PRODUCTION_DATABASE_USERNAME=db_username\nexport PRODUCTION_DATABASE_PASSWORD=db_password\nexport PRODUCTION_DATABASE_HOST=db_host\nexport PRODUCTION_DATABASE_PORT=db_port\n\n# Database credentials in staging\nexport STAGING_DATABASE_USERNAME=db_username\nexport STAGING_DATABASE_PASSWORD=db_password\nexport STAGING_DATABASE_HOST=db_host\nexport STAGING_DATABASE_PORT=db_port\n\n# Elasticsearch host (Usually localhost or some password protected remote url)\nexport ELASTICSEARCH_URL=http://username:password@host/\n\n# Redis hosts (Usually the same, default is redis://localhost:6379/0)\nexport REDIS_SERVER_URL=redis://redis.example.com:7372/12\nexport REDIS_CLIENT_URL=redis://redis.example.com:7372/12\n\n# Mail credentials (we use sendgrid for transactional mails)\nexport SENDGRID_USERNAME=username\nexport SENDGRID_PASSWORD=key_provided_by_sendgrid\n\n# Devise secret key (Use rake secret to generate it)\nexport DEVISE_SECRET_KEY=key_generated_with_rake_secret_command\n\n# Base secret key (Use rake secret to generate it)\nexport SECRET_KEY_BASE=key_generated_with_rake_secret_command\n\n# Keys for omniauth providers\nexport FACEBOOK_APP_ID=app_id\nexport FACEBOOK_APP_SECRET=app_secret\nexport GOOGLE_CLIENT_ID=client_id\nexport GOOGLE_CLIENT_SECRET=client_secret\n\n# Keys for performance monitoring tools\nexport NEWRELIC_LICENSE_KEY=license_key\nexport SKYLIGHT_TOKEN=secret_token\n```\n\nOmniauth and mail service credentials are loaded from `config/secrets.yml`.\nThe `secrets.yml` is not commited to repositiory. Make sure it has been created\nand it looks like this:\n\n```yml\ndevelopment:\n  secret_key_base: key_generated_with_rake_secret_command\n\n  FACEBOOK_APP_ID: \"facebook_app_id\"\n  FACEBOOK_APP_SECRET: \"facebook_app_secret\"\n  GOOGLE_CLIENT_ID: \"google_client_id\"\n  GOOGLE_CLIENT_SECRET: \"google_client_secret\"\n  MAILJET_USERNAME: \"mailjet_username\"\n  MAILJET_PASSWORD: \"mailjet_password\"\n\ntest:\n  secret_key_base: key_generated_with_rake_secret_command\n\nproduction:\n  secret_key_base: key_generated_with_rake_secret_command\n\n  FACEBOOK_APP_ID: \"facebook_app_id\"\n  FACEBOOK_APP_SECRET: \"facebook_app_secret\"\n  GOOGLE_CLIENT_ID: \"google_client_id\"\n  GOOGLE_CLIENT_SECRET: \"google_client_secret\"\n  SKYLIGHT_TOKEN: \"skylight_token\"\n  MAILJET_USERNAME: \"mailjet_username\"\n  MAILJET_PASSWORD: \"mailjet_username\"\n```\n\nCreate and migrate database\n```ruby\nbundle exec rake db:create\nbundle exec rake db:migrate\n```\n\nStart rails server (thin) from the root directory of your Rails app\n```\nrails s\n```\n\nStart sidekiq from the root directory of your Rails app\n```\nbundle exec sidekiq -C config/sidekiq.yml\n```\n\n## API Docs\n\nThe API documentation is a [slate](https://github.com/tripit/slate) app in `doc/api`.\n\nDo what ever changes you want in api docs and rebuild them by running:\n```ruby\n# Go to the slate folder\ncd doc/api\n\n# Install ruby gems\nbundle install\n\n# Build them\nbundle exec middleman build\n```\n\nThe new docs will be available in `public/docs/api` folder.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdklisiaris%2Fbibliography","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdklisiaris%2Fbibliography","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdklisiaris%2Fbibliography/lists"}