{"id":21368272,"url":"https://github.com/chrisvilches/kakeibo-api","last_synced_at":"2026-05-08T04:04:17.641Z","repository":{"id":44920281,"uuid":"447703211","full_name":"ChrisVilches/Kakeibo-API","owner":"ChrisVilches","description":"Backend for a money management app","archived":false,"fork":false,"pushed_at":"2023-02-04T09:03:19.000Z","size":199,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T08:12:42.176Z","etag":null,"topics":["graphql","rails","rails-api","ridgepole","ruby","ruby-on-rails"],"latest_commit_sha":null,"homepage":"","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/ChrisVilches.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-01-13T18:08:47.000Z","updated_at":"2022-02-02T01:22:57.000Z","dependencies_parsed_at":"2024-11-22T07:35:31.988Z","dependency_job_id":null,"html_url":"https://github.com/ChrisVilches/Kakeibo-API","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ChrisVilches/Kakeibo-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisVilches%2FKakeibo-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisVilches%2FKakeibo-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisVilches%2FKakeibo-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisVilches%2FKakeibo-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChrisVilches","download_url":"https://codeload.github.com/ChrisVilches/Kakeibo-API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChrisVilches%2FKakeibo-API/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264486961,"owners_count":23616170,"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":["graphql","rails","rails-api","ridgepole","ruby","ruby-on-rails"],"created_at":"2024-11-22T07:23:37.164Z","updated_at":"2026-05-08T04:04:17.591Z","avatar_url":"https://github.com/ChrisVilches.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kakeibo (API)\n\nDescription of this project can be found here (frontend repository): https://github.com/ChrisVilches/Kakeibo-UI\n\n## Ruby version\n\nCheck the `.ruby-version` file.\n\n## System dependencies\n\n1. If using sqlite, some system dependencies are required. For details: https://guides.rubyonrails.org/development_dependencies_install.html\n2. Redis running on `localhost:6379` (for `sidekiq-scheduler`). It can be changed in `config/initializers/sidekiq.rb` (follow the Gem instructions: https://github.com/moove-it/sidekiq-scheduler).\n\n## Database creation/initialization\n\n```\nbundle exec ridgepole -c config/database.yml --apply --env development\nbundle exec ridgepole -c config/database.yml --apply --env test\nbundle exec ridgepole -c config/database.yml --apply --env production\n```\n\n## Run the test suite\n\n```\nbundle exec rspec\n```\n\n## Services (job queues, etc.)\n\nScheduler being used for executing periodic jobs is `sidekiq-scheduler`. By default it needs Redis running on the default port on localhost.\n\nAlong with the main app, it's necessary to start one `sidekiq` process by executing:\n\n```\nbundle exec sidekiq\n```\n\nEnvironment variables needed:\n\n```\n# Backup file (texts like {year} will be replaced by the appropriate value):\nBACKUP_OUTPUT_FILE=/home/my_username/backup-{year}-{month}-{day}.json\n\nSUMMARY_EMAIL_CRON_STRING=\"* * * * *\"\nBACKUP_EMAIL_CRON_STRING=\"* * * * *\"\nBACKUP_TO_DISK_CRON_STRING=\"* * * * *\"\n```\n\nManage the process yourself. According to `sidekiq` (when trying to use deprecated options):\n\n```\nERROR: Daemonization mode was removed in Sidekiq 6.0, please use a proper process supervisor to start and manage your services\nERROR: Logfile redirection was removed in Sidekiq 6.0, Sidekiq will only log to STDOUT\n```\n\nSome ideas on how to manage the process:\n\n* https://github.com/mperham/sidekiq/wiki/Deployment\n* https://github.com/seuros/capistrano-sidekiq/issues/212\n\n## Configuration and deployment instructions\n\nFor now, deployment has to be done manually (capistrano setup is low priority for now).\n\n1. Install using:\n\n```\nbundle install\n```\n\n2. Create a file called `.env`, copy the content of `.env.template` and edit accordingly.\n3. Edit the `config/database.yml` file.\n4. Execute database changes:\n\n```\nbundle exec ridgepole -c config/database.yml --apply --env production\n```\n\n5. Deploy the server:\n\n```\nRAILS_ENV=production bundle exec rails s -b 0.0.0.0 -p APP_PORT\n```\n\nOptionally, create a user manually in the Rails console:\n\n```ruby\nUser.create!(email: 'testuser@host.com', password: 'qwerty123')\n```\n\n## Tools used\n\n1. GraphQL\n2. Devise (JWT)\n3. Ridgepole\n4. Rspec\n5. RuboCop \u0026 RubyCritic\n6. Sidekiq \u0026 Redis\n\nAnd others.\n\n## Development\n\nRun all tests and linting:\n\n```\nbundle exec rake\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisvilches%2Fkakeibo-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrisvilches%2Fkakeibo-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrisvilches%2Fkakeibo-api/lists"}