Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.

Project structure · Backend

Ruby on Rails project structure

Opens with credits

A Rails 8.1 app for a tuition centre (courses, enrollments, payments), laid out exactly as rails new creates it: Hotwire and import maps for the frontend, Solid Queue, Cache and Cable on the database, and Kamal deploying a Docker image to your own server. For students who have done the Getting Started guide and want to know where authentication, jobs, admin pages, tests and deploy files go as the app grows.

Curated by Tauseef FayyazIntermediate206 files and foldersRuby 4.0 (3.4 also supported), Rails 8.1, Solid Queue 1.7Checked October 2026
Explore the filesPick any file to see what it is, why it exists and when you add it.

How it grows

Each stage opens the explorer there

  1. 1Day 1What the scaffold and your first hour give you124 files and folders
  2. 2GrowingWhat a real app with features and tests adds+51 files and folders
  3. ProductionWhat running it for real users adds+19 files and foldersOpens with credits
  4. ExpertWhat a team needs to keep it healthy for years+12 files and foldersOpens with credits

How it is organised

  • Convention over configuration: put each file where Rails expects it and name it the way Rails expects, and routing, autoloading, views and tests connect themselves.
  • Use the generators (`bin/rails generate`). They create the file, its test and its migration with the right names, which is how the app stays consistent.
  • Business rules live in models (and plain Ruby objects under app/models); controllers stay thin and RESTful, with the seven standard actions.
  • Hotwire first: server-rendered HTML with Turbo and small Stimulus controllers. Add a JavaScript bundler only when a page truly needs it.
  • The database does more work in Rails 8: Solid Queue, Solid Cache and Solid Cable replace Redis for most apps, so there are fewer services to run.
  • Secrets live in encrypted credentials, never in code; only the master key is kept outside Git.
  • Every check runs the same way locally and in CI: `bin/ci` reads config/ci.rb, and the generated GitHub workflow runs the same scanners and tests.
  • Kamal deploys the generated Dockerfile to plain servers with zero downtime; config/deploy.yml and .kamal/secrets describe production completely.

At the top of the project

Open one in the explorer for the full story

Learn more on Sefism

Roadmaps, cheat sheets and projects that go with Ruby on Rails.

See 10 more
Checked against 20 official sources, October 2026. If something has changed, the docs win.Show sources

Picked from the other libraries by shared topics.

Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.

  • 1:1 Mentorship
  • Fresh Graduate Mentorship
  • Career Guidance

Brand deals, promos and partnerships: tauseeffayyaz@gmail.com