Let's Learn Ruby
a resource list-subheading>
Hi! This road map has helped me as a second-career developer who didn’t do a bootcamp. I hope it helps you too.
Notice a broken link? Open an issue!
Table of contents
- Basics
- Foundations
- Front end
- Advanced Ruby and Rails
- Beyond web development
- Ruby media
- Rails codebases to study
🔗 Basics
🔗 Front-end basics
-
Learn some HTML, CSS, and JS
The Odin Project - Foundations path or MDN - Learn web development or web.dev - Learn web development.
-
Build a blog from scratch
GitHub Pages is an accessible way to do this. (Choose the option “Project site”, then “Start from scratch”.).
🔗 Ruby basics
🔗 Basics
-
The Odin Project - Ruby
-
GoRails - Ruby for Beginners
If you prefer videos.
-
Try Ruby
And BigBinary Academy, if you like an interactive approach.
🔗 Guided practice
-
Exercism - Ruby
-
Advent of Code
With other people’s Ruby solutions to compare yours to. One way to do this is my Advent of Ruby gem.
🔗 OOP (object-oriented programming)
🔗 Build stuff with Ruby
-
A CLI (command-line interface) app
-
A game
A text-based game is the most straightforward option, but there are Ruby game engines for graphical games.
-
A static site with [Bridgetown](https://github.com/bridgetownrb/bridgetown), which is simpler than building a web app with Rails
Maybe rebuild your blog? Be sure to join the Bridgetown Discord server.
🔗 Rails basics
🔗 Basics
-
Getting started with Rails
An interactive quick start.
-
typecraft - Rails New
And/or GoRails - Build a Blog with Rails 7 if you like videos.
-
The Odin Project - Rails
🔗 Testing
-
thoughtbot - Testing Rails
Or the summary blog post. (In the book, ignore controller specs because they have been superseded by request specs.).
-
💲 Effective Testing with RSpec 3
🔗 Miscellaneous
-
Beginners Guide to Ruby on Rails Performance
-
Style guides
For Ruby, Rails, and RSpec.
🔗 Getting hired
🔗 Get real-world experience to put on your resume
-
Contribute to open-source projects
I’ve written a short guide on how to get started.
-
Ruby Central - Scholars and Guides Program
🔗 Mentorship
-
First Ruby Friend
Where aspiring and first-year developers are connected with a mentor.
-
r/rails
🔗 The job search
🔗 Foundations
🔗 SQL and databases
-
SQL Teaching
-
SQLBolt
-
Select Star SQL
-
SQL Practice
-
PostgreSQL Exercises
-
Next-Level Database Techniques for Developers
-
Use the Index, Luke!
🔗 Git
-
Oh My Git!
-
Oh Shit, Git!?!
Or for more detail, Git Flight Rules.
-
Git Katas
-
The Git Parable
🔗 Front end
🔗 CSS
🔗 JavaScript
🔗 Basics
-
Exploring JavaScript
Or MDN - JavaScript.
-
Modern JavaScript Explained For Dinosaurs
Plus import maps.
-
What the heck is the event loop anyway?
-
The Modern JavaScript Tutorial - Browser: Document, Events, Interfaces
🔗 Web components
🔗 TypeScript
🔗 New web APIs
🔗 Usability
🔗 Web standards
-
Plain Vanilla
-
Under-Engineered Patterns
-
Stephanie Eckles - SmolCSS
-
Stephanie Eckles - Modern CSS Solutions
🔗 Hotwire
🔗 News
🔗 Reference
-
Hotwire.io
(more extensive than the official docs).
-
turbo-rails "Usage" README section
-
thoughtbot - Hotwire examples
-
Betterstimulus
-
Stimulus-Use
-
Stimulus Components
🔗 Advanced Ruby and Rails
🔗 Advanced Rails
🔗 Rails internals
🔗 Architecture
🔗 Background jobs
🔗 Beyond web development
🔗 Ruby that is not web development
-
💲 DragonRuby Game Toolkit
For game development. See their Discord and community site. Other Ruby game libraries: Gosu, Raylib Ruby, MiniGL, Ruby 2D, Taylor, TIC-80.
-
Gamefic
For building text-based games and interactive fiction. See Getting Started and examples.
-
SC2AI
For StarCraft II botting.
-
Sonic Pi
For live music coding.
-
Ronin
For security development.
-
Scripting and text processing
Ruby One-Liners Guide, Ruby Regexp, 💲Text Processing with Ruby.
🔗 Mentoring
🔗 Computer science
-
Learn Computer Science
My other list.
🔗 Ruby media
🔗 Chat / social media
-
r/ruby
And r/rails.
-
Ruby (Discord)
-
Ruby.social (Mastodon)
-
Bluesky starter packs for Ruby developers
-
Ruby on Rails Link (Slack)
-
Lobsters
It’s not Ruby-specific, but it’s a way to widen your horizons and the discussions are of high quality. It’s like Hacker News but smaller and more focused on programming.
🔗 Blogs, newsletters, podcasts
🔗 "Let's build" screencasts
-
CJ Avilla - CreatorPlatform.xyz
-
Conner Jensen - learning management system
-
Conner Jensen - ecommerce app
-
HigherTheoryDev - Klipshow (streamer dashboard)
-
Ken Greeff - Luxury Stays (accommodation directory)
-
TypeFast - Tinysale (Gumroad clone)
-
TypeFast - Airbnb clone
-
TypeFast - Trello clone
-
TypeFast - Twitter clone
-
TypeFast - Instagram clone
-
Webcrunch - supplement sharing app
🔗 Topical screencasts
🔗 Live streams
-
ChaelCodes
: Meet Another Day and other open-source development.
-
❓
pushcx
: Lobsters development.
-
TenderlovesCoolStuff
🔗 Rails codebases to study
🔗 Small codebases
-
github.com/nshki/naisho
<2k lines. Send personal data deletion request emails to hundreds of data brokers at once.
-
github.com/carsoncole/workypad
2k lines. App for managing job prospecting.
-
once.com/writebook
3k lines. App for publishing books to the web.
-
github.com/garyharan/fresh
Plus github.com/garyharan/FreshAppIOS and github.com/garyharan/FreshAppAndroid. 4k lines. Dating app using Hotwire Native.
-
github.com/ChaelCodes/MeetAnotherDay
4k lines. Helps you find and meet up with your friends at conferences.
-
github.com/SpinaCMS/Spina
6k lines. CMS (Content Management System).
-
github.com/eigenfocus/eigenfocus
5k lines. Self-hosted project/time management app.
-
github.com/basecamp/once-campfire
6k lines. Self-hosted chat application similar to Slack.
-
github.com/codetriage/codetriage
6k lines. Issue tracker for open-source projects.
-
github.com/demingfactor/calagator
9k lines. Community calendar platform.
-
github.com/rubyevents/rubyevents
11k lines. Index of Ruby events and videos.
-
github.com/lookbook-hq/lookbook
11k lines. UI development environment for Rails apps.
-
github.com/thoughtbot/upcase
14k lines. Learning platform for developers.
-
github.com/joemasilotti/railsdevs.com
14k lines. The reverse job board for Ruby on Rails developers.
-
github.com/galahq/gala
15k lines. Collaborative learning platform.
-
github.com/CircuitVerse/CircuitVerse
15k lines. Digital logic circuit simulator. Has a Vue.js front end.
-
github.com/docusealco/docuseal
15k lines. Open source DocuSign alternative.
-
github.com/rubyforgood/homeward-tails
15k lines. Connects adopters/fosters with pets.
-
github.com/TheOdinProject/theodinproject
16k lines. Main website for The Odin Project web development learning platform.
-
github.com/AllYourBot/hostedgpt
16k lines. Self-hosted ChatGPT alternative.
-
github.com/RailsEventStore/ecommerce
17k lines. Example app showing DDD (Domain-Driven Design), CQRS, and Event Sourcing.
-
github.com/lobsters/lobsters
18k lines. Hacker News clone.
-
github.com/maybe-finance/maybe
19k lines. Personal finance app.
-
github.com/rauversion/rauversion
20k lines. Music platform.
-
github.com/ifmeorg/ifme
21k lines. Mental health communication web app to share experiences with loved ones.
-
github.com/openSUSE/osem
24k lines. Event management tool tailored to Free and Open Source Software conferences.
-
github.com/chicago-tool-library/circulate
26k lines. A lending library management system.
-
github.com/feedbin/feedbin
31k lines. RSS reader.
-
github.com/AlchemyCMS/alchemy_cms
37k lines. CMS (Content Management System).
-
github.com/huginn/huginn
37k lines. Web task automation.
-
github.com/rubyforgood/casa
44k lines. Volunteer management system for the nonprofit CASA.
-
github.com/rubyforgood/human-essentials
47k lines. An inventory management system for essentials supply banks.
🔗 Larger codebases
-
github.com/rubygems/rubygems.org
56k lines. Where Ruby gems are hosted.
-
github.com/WikiEducationFoundation/WikiEduDashboard
59k lines. Wikipedia course dashboard system. Has a React front end.
-
github.com/chatwoot/chatwoot
74k lines. Customer engagement suite. Has a Vue.js front end.
-
github.com/solidusio/solidus
98k lines. E-commerce platform.
-
github.com/alphagov/whitehall
110k lines. Publishes government content on gov.uk.
-
github.com/mastodon/mastodon
117k lines. Like Twitter but self-hosted and federated.
-
github.com/redmine/redmine
118k lines. Project management app.
-
github.com/forem/forem
126k lines. Powers the blogging site dev.to. Uses Preact on the front end.
-
github.com/openfoodfoundation/openfoodnetwork
129k lines. An online marketplace for local food.
-
github.com/decidim/decidim
294k lines. The participatory democracy framework.
-
github.com/zammad/zammad
299k lines. Helpdesk/customer support system.
-
github.com/antiwork/gumroad
323k lines. E-commerce platform.
-
github.com/opf/openproject
479k lines. Project management software.
-
github.com/discourse/discourse
514k lines. Discussion forum platform. Has an Ember.js front end.
-
github.com/instructure/canvas-lms
891k lines. A popular LMS (learning management system).
-
gitlab.com/gitlab-org/gitlab
3 million lines. Like GitHub but with CI/CD and DevOps features built in. Uses Vue.js on the front end. Has docs on architecture.