Creating Long-Lived Web Apps with Ruby on Rails

Gain insights into maintaining complex Rails apps with consistency and sustainability. Learn about separating business logic, applying pragmatic techniques, and effective testing for long-lived, maintainable projects.

Intermediate

170 Lessons

75h

Certificate of Completion

Gain insights into maintaining complex Rails apps with consistency and sustainability. Learn about separating business logic, applying pragmatic techniques, and effective testing for long-lived, maintainable projects.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

56 Playgrounds
22 Quizzes

This course includes

56 Playgrounds
22 Quizzes

Course Overview

Ruby on Rails is a server-side web development framework. Are you an experienced Rails developer but struggle with managing the complexity your Rails apps acquire over time? You don’t need gems or complicated design patterns; you just need to focus on consistency, sustainability, and the best parts of Rails. In this course, you’ll learn straightforward techniques to apply to each Rails part, from routes to views to controllers to Active Records. You’ll learn to put business logic in separate Ruby classes t...Show More

What You'll Learn

The ability to follow steps for creating a reliable and consistent database schema for Rails

Familiarity with managing code in each part of Rails: routes, controllers, views, Active Records, jobs, and more

Working knowledge of a pragmatic strategy that ensures quality without overtesting

Familiarity with techniques for managing business logic in a Rails app without complicated patterns or gems

An understanding of the core principles of sustainable web app development

What You'll Learn

The ability to follow steps for creating a reliable and consistent database schema for Rails

Show more

Course Content

1.

Prologue

Get familiar with sustainable Ruby on Rails app development, best practices, and architecture.
2.

Getting Started

Look at sustainable practices, assumptions, and cost management in Ruby on Rails development.
3.

The Rails Application Architecture

Work your way through Rails architecture, views, models, pros and cons, and conventions.
4.

Start Our App Off Right

Grasp the fundamentals of creating, configuring, running, and maintaining a Rails application.
5.

Business Logic

Solve problems in managing business logic complexity to ensure sustainable, stable web apps.
6.

Routes and URLs

8 Lessons

Investigate routing best practices, avoid unused configurations, utilize nested routes, and maintain clear URL structures in Rails.
7.

HTML Templates

7 Lessons

Master the steps to create structured, maintainable Rails views using semantic HTML, instance variables, and ERB.
8.

Helpers

8 Lessons

Learn how to use helpers effectively for UI, view models, testing, and secure markup.
9.

CSS

7 Lessons

Unpack the core of effective CSS management strategies, frameworks, and design systems for Rails applications.
10.

Minimize JavaScript

5 Lessons

Break apart JavaScript's challenges and embrace server-rendered Rails views for simpler web apps.
11.

Carefully Manage the JavaScript We Need

3 Lessons

Grasp the fundamentals of JavaScript management, framework selection, and effective testing in Rails apps.
12.

Testing the View

9 Lessons

Dig into strategies for effective and maintainable view testing in Ruby on Rails.
13.

Models I

7 Lessons

Simplify database access and modeling with Active Record and class/instance methods.
14.

The Database

10 Lessons

Master the steps to plan and implement robust data models, migrations, and database constraints.
15.

Business Logic Code is a Seam

5 Lessons

Learn how to use stateless classes, explicit methods, rich result objects, and avoid certain patterns.
16.

Models II

6 Lessons

Unpack the core of validations, callbacks, model testing strategies, and using Factory Bot for reliable data.
17.

End-to-End Testing

13 Lessons

Master the steps to test end-to-end scenarios, build UI, and manage business logic.
18.

Controllers

6 Lessons

Grasp the fundamentals of optimizing controller configurations, managing callbacks, and strategic testing in Rails.
19.

Jobs

8 Lessons

Map out the steps for managing and optimizing background jobs in Ruby on Rails apps.
20.

Other Boundary Classes

6 Lessons

Investigate boundary classes like mailers, Rake tasks, Action Mailbox, Action Cable, and Active Storage.
21.

Authentication and Authorization beyond Rails

6 Lessons

Practice using Devise, OmniAuth, and CanCanCan for secure authentication and role-based access control.
22.

API Endpoints

11 Lessons

Learn how to use Rails for effective, secure, and maintainable REST API development.
23.

Sustainable Process and Workflows

9 Lessons

Walk through sustainable CI practices, dependency management, automation, and efficient configuration in Rails applications.
24.

Operations

9 Lessons

Work your way through enhancing observability, effective logging, performance measurement, and secure secret management in Ruby on Rails.
25.

Conclusion

1 Lesson

Grasp the fundamentals of effective code structuring and continuous learning in software development.
26.

Appendices

3 Lessons

Map out the steps for software versions, Docker setup, and architecture decisions.

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor