-
So I've set out to explore the problem of organizing business logic from more angles than before, using the resources listed below. These lists are excerpted from my "Learning Ruby" road map which I often update, so you may want to find these lists there if this post is old at the time of your reading it. The sections corresponding to the lists below are, at the time of writing, "Rails architecture" and "Rails codebases".
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Interactor
-
Rails Event Store – for an event-driven architecture
-
ventable
Event/Observable support for plain ruby with options for grouping observers and wrapping notifications in blocks of code, such as transaction handling.
Ventable – a variation of the Observer design pattern
-
Wisper – the Publish-Subscribe design pattern
-
Packwerk – to enforce boundaries and modularize Rails applications
-
github.com/codetriage/codetriage (6k lines): Issue tracker for open-source projects.
-
github.com/joemasilotti/railsdevs.com (12k lines): The reverse job board for Ruby on Rails developers.
-
github.com/lobsters/lobsters (13k lines): Hacker News clone.
-
github.com/thoughtbot/upcase (14k lines): Learning platform for developers.
-
HoundCI
Discontinued Automated code review for GitHub pull requests. [GET https://api.github.com/repos/houndci/hound: 404 - Not Found // See: https://docs.github.com/rest/repos/repos#get-a-repository] (by houndci)
github.com/houndci/hound (14k lines): Automated code review for GitHub PRs.
-
github.com/rubygems/rubygems.org (26k lines): Where Ruby gems are hosted.
-
github.com/solidusio/solidus (72k lines): E-commerce platform.
-
github.com/mastodon/mastodon (75k lines): Like Twitter but self-hosted and federated.
-
github.com/forem/forem (103k lines): Powers the blogging site dev.to.
-
github.com/alphagov/whitehall (117k lines): Publishes government content on gov.uk.
-
github.com/discourse/discourse (322k lines): Discussion forum platform.
-
github.com/instructure/canvas-lms (745k lines): A popular LMS (learning management system).
-
gitlab.com/gitlab-org/gitlab (1.8 million lines): Like GitHub but with CI/CD and DevOps features built in. Has great docs on architecture.
-
Sequent – CQRS and event sourcing
-
govuk-puppet
Discontinued Decommissioned: Puppet manifests that used to provision the legacy GOV.UK stack.
Publishes government content on gov.uk.
-
Data Oriented Web Development with Ruby (upcoming book) by Peter Solnica, who is on the Hanami core team. Learning Hanami wouldn't be a bad idea either.
-
dry-transaction
Related posts
-
Ask HN: Is there an open source HN?
-
Pressure-testing Ota on Discourse: repo-wrapper truth matters more than a passing bundle command
-
I will continue using Devise with Rails 8!
-
Ruby on Rails Performance: 7 Lessons from Scaling FirstPromoter
-
Servactory — Typed Service Objects with Declarative Actions for Ruby