# Ruby on Rails Wenn wir uns in Rails verliebt haben sollten können wir uns [hier](https://teespring.com/stores/driftingruby) mit Fanartikeln eindecken.. ;) ## Setup Rails App - Install Ruby, RubyGem and Nodejs - Clone Rails App and switch inside Folder - Run: bundle install - Run: rails db:migrate - Start Webserver: bin/dev - Have fun.. ;) ## Nützliche URLs - [API Doc](https://api.rubyonrails.org/) API Documentation - [Turbo Rails Tutorial](https://www.hotrails.dev/turbo-rails) Learn how to leverage the power of the turbo-rails library now included by default in Rails 7 to write reactive single-page applications without having to write a single line of custom JavaScript. - [Stimulus Components](https://www.stimulus-components.com/) Stimulus Components is an open-source set of StimulusJS controllers to solve common patterns. - [Rails Authentication From Scratch](https://stevepolito.design/blog/rails-authentication-from-scratch) - [Hotwire: Asynchronously loaded tooltips](https://thoughtbot.com/blog/hotwire-asynchronously-loaded-tooltips) - [HowTo Animate Turbo_Streams](https://edforshaw.co.uk/hotwire-turbo-stream-animations) - [Conditional Rendering With Turbo Stream Broadcasts](https://dev.to/davidcolbyatx/conditional-rendering-with-turbo-stream-broadcasts-i68) - [http://blog.albertorocha.me/posts/overwriting-pagy-navigation-helper](http://blog.albertorocha.me/posts/overwriting-pagy-navigation-helper) ## Interessante Plugins - [Authentication Zero](https://github.com/lazaronixon/authentication-zero) - [Ransack](https://github.com/activerecord-hackery/ransack) Object-based searching - [Pagy](https://github.com/ddnexus/pagy) The Best Pagination Ruby Gem - [Faker](https://github.com/faker-ruby/faker) Faker helps you generate realistic test data, and populate your database with more than a couple of records while you're doing development. - [Devise](https://github.com/heartcombo/devise) Devise is a flexible authentication solution for Rails based on Warden - [Positioning](https://github.com/brendon/positioning) Positioning supports multiple lists per model with global, simple, and complex scopes - [Hotwire Combobox](https://www.driftingruby.com/episodes/hotwire-combobox) In this episode, we tackle the issue of slow-loading dropdowns with a high volume of options by implementing an asynchronous select using the Hotwire Combobox library - [Icon Helper](https://webcrunch.com/posts/svg-icons-with-ruby-on-rails) - [Letter Opener](https://github.com/ryanb/letter_opener) Preview email in the default browser instead of sending it - [Simple Forms](https://github.com/heartcombo/simple_form) - [Auto Session Timeout](https://github.com/pelargir/auto-session-timeout) - [Shrine](https://shrinerb.com/) Alternative for ActiveStorage - [pundit](https://github.com/varvet/pundit) :Pundit provides a set of helpers which guide you in leveraging regular Ruby classes and object oriented design patterns to build a straightforward, robust, and scalable authorization system. - [ActionPolicy](https://github.com/palkan/action_policy) Authorization framework for Ruby and Rails applications. - [Audit](https://github.com/collectiveidea/audited) Audited (previously acts_as_audited) is an ORM extension that logs all changes to your models. Audited can also record who made those changes, save comments and associate models related to the changes. Composable. Extensible. Performant. ## Interessante Javascript Plugins - [Slim-Select](https://www.youtube.com/watch?v=F0au2jk7Skw) SlimSelect is in the process of adding a few framework integrations ## Nützliche Videos - [SupeRails Youtube](https://www.youtube.com/@SupeRails) Very useful videos! - [SuperRails](https://blog.corsego.com/) Text versions - [SupeRails](https://superails.com/) Homepage - [Tables with Javascript CSR](https://www.youtube.com/watch?v=JUI2Y5tFxj4) - [Search with infinite Pagination](https://www.youtube.com/watch?v=A9q6YwhLCyI) - [Tailwind](https://www.youtube.com/watch?v=oP5yKkKxLvE) Tailwind CSS: Build and Deploy a Fully Responsive Website with Modern UI/UX - [Drifting Ruby](https://www.driftingruby.com/) Elevate your Ruby skills with expert-led videos - [Steve Polito Blog](https://stevepolito.design/categories/ruby-on-rails/) Steve Polito is a full stack web developer in the Boston Area - [Components Tailwind Stimulus Example](https://youtu.be/WysgJXBRStw?si=E9XEX0JFmqSHJiHG) ## Nützliche Libaries ### Tailwind - [SimpleCSS](https://simplecss.org/) A CSS framework that makes semantic HTML look good - [Tailwind Homepage](https://tailwindcss.com/) Rapidly build modern websites without ever leaving your HTML - [Tailwind Cheat Sheet](https://nerdcave.com/tailwind-cheat-sheet) Cheat Sheet - [Tailwindcss-animate](https://github.com/jamiebuilds/tailwindcss-animate?tab=readme-ov-file) A Tailwind CSS plugin for creating beautiful animations - [Tailwindcss-typography](https://github.com/tailwindlabs/tailwindcss-typography) The official Tailwind CSS Typography plugin provides a set of prose classes you can use to add beautiful typographic defaults to any vanilla HTML you don’t control, like HTML rendered from Markdown, or pulled from a CMS. - [DaisyUI](https://daisyui.com/) The most popular component library for Tailwind CSS - [shadonUI](https://ui.shadcn.com/) Beautifully designed components that you can copy and paste into your apps - [W3School](https://www.w3schools.com/) - [WindUI](https://wind-ui.com/components/) - [HyperUI](https://www.hyperui.dev/) - [MerakiUI](https://merakiui.com/) - [RippleUI](https://www.ripple-ui.com/) - [Kometa UI Kit](https://kitwind.io/products/kometa) - [DasyUI](https://daisyui.com/) ### Icons - [Icons](https://heroicons.com/) Beautiful hand-crafted SVG icons, by the makers of Tailwind CSS - [ionicons](https://ionic.io/ionicons) Open source icons. Lovingly hand-crafted. - [iconfy.design](https://iconify.design/) All popular icon sets, one framework. Over 200,000 open source vector icons ## Tools - [lunacy](https://icons8.com/lunacy) Free design software that keeps your flow with AI tools and built-in graphics - [pencil](https://pencil.evolus.vn/) An open-source GUI prototyping tool that's available for ALL platforms.