{"id":13879017,"url":"https://github.com/hschne/schienenzeppelin","last_synced_at":"2025-07-16T15:30:35.565Z","repository":{"id":56894440,"uuid":"332465110","full_name":"hschne/schienenzeppelin","owner":"hschne","description":"A Rails app generator to get you started quickly. Includes TailwindCSS, Devise, Deployment and more","archived":true,"fork":false,"pushed_at":"2023-12-12T15:34:40.000Z","size":1600,"stargazers_count":20,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-15T03:12:04.564Z","etag":null,"topics":["capistrano","devise","hotwire","rails","ruby","scaffolds","tailwindcss"],"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/hschne.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2021-01-24T14:06:07.000Z","updated_at":"2023-12-12T15:34:57.000Z","dependencies_parsed_at":"2024-11-15T03:11:13.917Z","dependency_job_id":null,"html_url":"https://github.com/hschne/schienenzeppelin","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hschne%2Fschienenzeppelin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hschne%2Fschienenzeppelin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hschne%2Fschienenzeppelin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hschne%2Fschienenzeppelin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hschne","download_url":"https://codeload.github.com/hschne/schienenzeppelin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226138849,"owners_count":17579496,"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":["capistrano","devise","hotwire","rails","ruby","scaffolds","tailwindcss"],"created_at":"2024-08-06T08:02:07.015Z","updated_at":"2024-11-24T07:31:30.448Z","avatar_url":"https://github.com/hschne.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eSchienenzeppelin\u003c/h1\u003e\n\n\u003e **Schienenzeppelin has been archived!** Building a custom Rails generator was a fun experiment. Unfortunately, it's ultimately unwieldy and not maintainable. Check out [Kalamazoo](https://github.com/hschne/kalamazoo) for a simpler alternative.\n\n\nThe Ruby on Rails app generator to get you started quickly. Includes TailwindCSS,\nDevise, Capistrano and much more. Check out these [screenshots](GALLERY.md) and [What's in the Box](#whats-in-the-box) to find out more.\n\n\n\n![zeppelin](./schienenzeppelin.jpg)\n\n## Getting Started\n\nInstall the Schienenzeppelin gem:\n\n```\ngem install schienenzeppelin\n```\n\nMake sure you have [Ruby](https://www.ruby-lang.org/en/) and [ Yarn ](https://yarnpkg.com/) installed. Then run:\n\n```\nsz \u003capp-name\u003e\n```\n\n## What's in the Box?\n\nLoads of things!\n\nSchienenzeppelin provides you with a ready-to-go Rails app that you can take to production in a matter of minutes. It comes pre-configured with several gems and utilities that - while kind of standard - are not included in the default Rails app generator. Some highlights include:\n\n- Fully responsive pages using [TailwindCSS](https://tailwindcss.com/) and [High Voltage](https://github.com/thoughtbot/high_voltage) out of the box. And custom scaffolds to boot! :sparkles:\n- Authentication \u0026 Authorization comes standard. Starting your app with Schienenzeppelin means [Devise](https://github.com/heartcombo/devise) is already set up :+1:\n- Dockerized everything. That includes a Dockerfile to get you started with containerizing your app, and a [docker-compose](https://docs.docker.com/compose/)-powered development environment :whale:\n- Deploying your app is easy as pie. All the basic [Capistrano](https://capistranorb.com/) configuration is done already, just put in your server location and you are off to the races :rocket:\n\n### Frontend\n\nThe nice thing about Schienenzeppelin is that it sets you up with basic pages that don't look like garbage - allowing you to focus on other things than design.\n\nCurious what that looks like? Check out these [screenshots](GALLERY.md).\n\n#### Tailwind CSS\n\nSchienenzeppelin comes pre-configured with [tailwindcss-rails](https://github.com/rails/tailwindcss-rails). We provide several UI components as a starting point in `app/javascript/stylesheets/components.scss` - easy to adapt, and easy to add your own.\n\n#### Custom Views\n\n[High Voltage](https://github.com/thoughtbot/high_voltage) offers an easy way to add static pages - no controllers needed. Out of the box, Schienenzeppelin provides a mobile-friendly home page and an improved application layout.\n\n#### Custom Scaffold\n\nSchienenzeppelin adds a bunch of scaffolds that you adapt to suit your own needs in `lib/scaffolds`. These scaffolds take advantage of Tailwind to match the look of the rest of your application.\n\n#### Turbo\n\n[Hotwire](https://hotwire.dev/) is the new hotness. Starting with Schienenzeppelin means that Hotwire and its components such as [Stimulus](https://github.com/hotwired/stimulus) are already added to your application.\n\nSchienenzeppelin also takes advantage of [Tailwind-Stimulus-Components](https://github.com/excid3/tailwindcss-stimulus-components) to provide interactive componenets (Dropdowns, Alerts...) out of the box.\n\n### Backend\n\nModern web apps need tons of functionality out of the box. Authentication, Authorization, APIs and much more. Schienenzeppelin comes with some basics to get you started quickly.\n\n#### Authentication\n\nDevise is already configured if you start your application with Schienenzeppelin. For a smooth first start, `db/seeds.rb` create an admin user, and your navigation bar already contains links where users can sign in or sign up.\n\n#### Authorization\n\n[Pundit](https://github.com/varvet/pundit) provides a simple way to encapsulate authorization logic in your application. You can add new policies to the `app/policies` folder. To generate a new policy run `rails generate pundit:policy`.\n\n#### Background Jobs\n\nSchienenzeppelin per default foregoes ActiveJob in favor of [Sidekiq](https://github.com/mperham/sidekiq).\n\n#### OJ\n\nTo serialize and deserialize to and from Json [OJ](https://github.com/ohler55/oj) is pretty much standard. Schienenzeppelin already comes pre-configured with it.\n\n#### JB\n\nFor rendering JSON views we use [JB](https://github.com/amatsuda/jb) instead of [JBuilder](https://github.com/rails/jbuilder), as it is both faster and simpler to use.\n\n#### Service Objects\n\n[Service Objects](https://www.toptal.com/ruby-on-rails/rails-service-objects-tutorial) are a simple, straight-forward way to encapsulate your business logic and keep your controllers and models nice and slim.\n\nSchienenzeppelin provides a basic service object base class you can inherit from to add your own service objects in `app/services`.\n\n### Development\n\n#### Setup Script\n\nA setup script that allows for easy setup of the application on a new machine is provided. It is automatically tailored to your specific\napp configuration.\n\n#### Start Script\n\nOnce you have set up everything your application can be started with a single command-line call - using Foreman. All necessary procfiles are generated.\n\n#### Better Rails Console\n\nSchienenzeppelin comes with a custom `.irbrc` that adds history and syntax completion. [Factory Bot](#factory_bot) methods will also be available in the console.\n\n#### Annotate\n\n[Annotate](https://github.com/ctran/annotate_models) adds comments to your models to show the current table schema. Automatically run during each migration.\n\n#### Database\n\nPostgreSQL is already configured if you start your app - in such a way that it plays nicely with other utilities such as `dotenv` and `docker-compose` too!\n\n#### Dotenv\n\n[Dotenv](https://github.com/bkeepers/dotenv) is a nifty gem that makes environment variables easier to manage.\n\n#### Docker\n\nDocker is incredibly helpful when developing and deploying your application. Schienenzeppelin provides a `docker-compose` file\nas well as an optimized `Dockerfile` (with complementary `.dockerignore`) to get you started.\n\n#### Version Manager Support\n\nWe added support for the [asdf version manager](https://asdf-vm.com/#/). A `.tool-versions` file is automatically included in your app.\n\n#### Improved Gitignore\n\nSchienenzeppelin provides a custom `.gitignore` that is tailored to your app.\n\n#### Rubocop\n\nCreating your app with Schienenzeppelin will automatically add Rubocop and a minimal set of Rubocop rules for both your production and test code.\n\n#### Improved Credentials\n\nWhile Rails secrets are usually prepared for development, Schienezeppelin sets up everything for production as well.\n\n#### Rspec\n\n[Rspec](https://github.com/rspec/rspec) and its helpers [rspec-mocks](https://github.com/rspec/rspec-mocks) and [shoulda](https://github.com/thoughtbot/shoulda) come standard.\n\n#### Factorybot\n\n[Factorybot](https://github.com/thoughtbot/factory_bot) provides an easy way to create test data.\n\n### Deployment \u0026 CI\n\n#### Github Actions\n\nSchienenzeppelin already comes with a workflow file that should cover your basic need. A good starting point for further customization.\n\n#### Capistrano\n\nCapistrano is already set up. Deploy to a server of your choice with minimal effort.\n\n## FAQ\n\n#### Why another template generator?\n\nI wanted something that fits the way I like to write my Rails app. There are many application templates, but this one is mine.\n\n#### What's with the German gibberish name?\n\nI'm so glad you asked. The [Schienenzeppelin](https://en.wikipedia.org/wiki/Schienenzeppelin) was an experimental railcar that was briefly in operation during the 1930s. It was pretty fast, and it ran on Rails. Get it? :zany_face:\n\n#### Credits\n\nThis idea is nothing new, and there are tons of other projects I took inspiration from.\n\nSpecial shout out to Chris Oliver, whose [Jumpstart Pro](https://jumpstartrails.com/) is crazy good. You should get it.\n\n[Suspenders](https://github.com/thoughtbot/suspenders) was where I first came across the idea to try my hand at custom template generators.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhschne%2Fschienenzeppelin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhschne%2Fschienenzeppelin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhschne%2Fschienenzeppelin/lists"}