{"id":20060711,"url":"https://github.com/xhostcomweb/rails-7-rack-attack","last_synced_at":"2026-01-21T14:35:32.463Z","repository":{"id":127410342,"uuid":"481577993","full_name":"xhostcomweb/rails-7-rack-attack","owner":"xhostcomweb","description":"Rails 7 Jumpstart opinionated theme for quick MVP's, tests and projects. With UUIDs, Bootstrap 5, Stimulus, Hotwire, Turbo, Request JS, Devise Auth, Notifications, Emails, Avatar, Admin, Enum user roles Rack Contrib, RSpec \u0026 Thin webserver \u0026 more","archived":false,"fork":false,"pushed_at":"2022-06-18T22:33:56.000Z","size":12091,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-05-05T15:51:13.185Z","etag":null,"topics":["rack","rails"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xhostcomweb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.txt","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}},"created_at":"2022-04-14T11:26:15.000Z","updated_at":"2025-03-25T00:02:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"250b7d01-af45-4136-a467-1973872772ed","html_url":"https://github.com/xhostcomweb/rails-7-rack-attack","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/xhostcomweb/rails-7-rack-attack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xhostcomweb%2Frails-7-rack-attack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xhostcomweb%2Frails-7-rack-attack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xhostcomweb%2Frails-7-rack-attack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xhostcomweb%2Frails-7-rack-attack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xhostcomweb","download_url":"https://codeload.github.com/xhostcomweb/rails-7-rack-attack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xhostcomweb%2Frails-7-rack-attack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28634844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"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":["rack","rails"],"created_at":"2024-11-13T13:16:27.013Z","updated_at":"2026-01-21T14:35:32.459Z","avatar_url":"https://github.com/xhostcomweb.png","language":"Ruby","funding_links":["https://www.patreon.com/xhostcom"],"categories":[],"sub_categories":[],"readme":"# rails 7 rack attack\n\n[https://github.com/xhostcomweb/rails-7-rack-attack.git]\n\nRuby On Rails 7 SaaS Jumpstart Dark Themed template with Ruby on Rails 7, PostgreSQL, Puma Webserver, UUID's, Rack Contrib,\nEmail Sends, User Avatars, Enum Roles, Notifications, Announcements, Rollup, Importmap,\nCSS Bundling, JS Bundling, Administrate, Turbo, Stimulus JS, Hotwire, Action Cable, Cable Ready,\nRedis Caching, Bootstrap 5, Font Awesome 5, Devise Auth, Rubocop \u0026 RSpec!\n\n## Roles - Devise User Model ##\n\n* Admin as boolean flag on User model (manual - switch it in console)\n* Member and other roles as enum integer (hash) on User model (write methods as required, default sign up set as user) No 3rd party gems needed for Roles.\n* Example: User.all.update :role =\u003e :owner, User.first.update :admin =\u003e true\n\n# JS \u0026 CSS Bundling with Rollup - no webpack/webpacker\n\n* https://stimulus.hotwired.dev/\n\n* https://docs.stimulusreflex.com/\n\n# Combine with Hotwire and Strada \u0026 others #\n\n* https://hotwired.dev/\n\nStyle kept minimal so Bootstrap 5 can be swapped out for other CSS or UI if required, Bootstrap icons via CDN (swap/remove), dummy fonts in root of app (not used)\n\n* Ruby/Rails/Node/Postgres\n\n- [Ruby](https://www.ruby-lang.org/en/) 3.0.0 up\n- [Rails](https://rubyonrails.org/) 7.0.0 up\n- [NodeJS] (https://nodejs.org/es/blog/release/v16.0.0/) 16.0.0\n- [PostgreSQL](https://www.postgresql.org/docs/14/index.html) 14.00\n\n## SET UP ##\n\n(Todo: fix admin new user)\n\nAfter first set email \u0026 db credentials in .env file (for PostgreSQL, cp .env.example to .env and fill in with your env details)\n\n1. $ bundle install \u0026\u0026 bundle audit + (bundle audit --update)\n2. $ yarn  (engine node v 16.0.0)\n\n\n* Hotwire\n\n3. $ rails hotwire:install  (dont overwrite, request js module declared in root .ts file )\n\n4. $ rails dev:cache (check/toggle, must be cached, if not run again) \n\n5. Is set up to send basic user signup mail with Gmail, alter smtp or other mail credentials (.env, application_mailer, devise.rb \u0026 development.rb), then test signup confirmation emails by signing up \u0026 confirming user email\nAs above be sure to copy .env.example \u003e .env and enter details, or adapt to suit yours.  (2 factor auth Google accs req an App password for the device registered there and being used, not the normal password)\n\n6. $ bin/rails db:migrate:reset  (rails db:migrate:status, undo one, rails db:migrate:down VERSION=, undo all, db:migrate VERSION=0) or $  bin/setup\n\n## Optional\n\n7. $ rails stimulus_reflex:install (extra config needed see link [https://docs.stimulusreflex.com/])\n\n# Optional\n\n8. $ rails generate favicon (put your favicon.png in assets/images, along with favicon.json in config folder) [see https://realfavicongenerator.net]\n   \n9. $ rails g rspec:install  (for testing)\n\n(for test db run $ rails db:test:prepare)\n\n10. Run Importmap to set/pin Javascript  [https://github.com/rails/importmap-rails]\n\n# Importmap Examples \n\n ./bin/importmap\n ./bin/importmap pin bootstrap  (pin bootstrap \u0026 popper, ie import \u0026 set)\n ./bin/importmap json (show maps)\n\n## Mandatory - Start server! ##\n\n$ bin/dev   ($ thin start - just server)\n\n(For other cmds see  related docs/links)\n\n# Examples\n\n$ rails action_text:install (already done here)\n\n$ rails generate administrate:install (if use default Administrate, for Admin example = in console: User.first.update :admin =\u003e true) )\n\n# Live reload/watch CSS\n\n$ $ yarn build:css --watch (separate terminal watch/update changes in styles)\n\n## Author\n\nPaul Anthony McGowan - xhostcom@gmail.com\n\nhttps://www.patreon.com/xhostcom\n\n### Contributing ###\n\nUse Gitflow/Hubflow only develop branch\n\n[https://datasift.github.io/gitflow/GitFlowForGitHub.html]\n\n1.Clone it\n2.Create your feature branch (git checkout -b my-new-feature)\n3.Commit your changes (git commit -am 'Add awesome feature')\n4.Push to the branch (git push origin my-awesome-earth-shattering-feature)\n5.Create a new Pull Request\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxhostcomweb%2Frails-7-rack-attack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxhostcomweb%2Frails-7-rack-attack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxhostcomweb%2Frails-7-rack-attack/lists"}