OOP vs. services for organizing business logic: is there a third way?

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • learn-ruby

    Learning resources for Ruby, Rails, and related skills.

    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".

  • Interactor

    Interactor provides a common interface for performing complex user interactions.

    Interactor

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • Rails Event Store

    A Ruby implementation of an Event Store based on Active Record

    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

    A micro library providing Ruby objects with Publish-Subscribe capabilities

    Wisper – the Publish-Subscribe design pattern

  • packwerk

    Good things come in small packages.

    Packwerk – to enforce boundaries and modularize Rails applications

  • CodeTriage

    Discover the best way to get started contributing to Open Source projects

    github.com/codetriage/codetriage (6k lines): Issue tracker for open-source projects.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • railsdevs.com

    The reverse job board for Ruby on Rails developers.

    github.com/joemasilotti/railsdevs.com (12k lines): The reverse job board for Ruby on Rails developers.

  • Lobsters

    Computing-focused community centered around link aggregation and discussion

    github.com/lobsters/lobsters (13k lines): Hacker News clone.

  • upcase

    Sharpen your programming skills.

    github.com/thoughtbot/upcase (14k lines): Learning platform for developers.

  • HoundCI

    Automated code review for GitHub pull requests. (by houndci)

    github.com/houndci/hound (14k lines): Automated code review for GitHub PRs.

  • RubyGems

    The Ruby community's gem hosting service.

    github.com/rubygems/rubygems.org (26k lines): Where Ruby gems are hosted.

  • Solidus

    🛒 Solidus, the open-source eCommerce framework for industry trailblazers.

    github.com/solidusio/solidus (72k lines): E-commerce platform.

  • Mastodon

    Your self-hosted, globally interconnected microblogging community

    github.com/mastodon/mastodon (75k lines): Like Twitter but self-hosted and federated.

  • forem

    For empowering community 🌱

    github.com/forem/forem (103k lines): Powers the blogging site dev.to.

  • whitehall

    Publishes government content on GOV.UK

    github.com/alphagov/whitehall (117k lines): Publishes government content on gov.uk.

  • Discourse

    A platform for community discussion. Free, open, simple.

    github.com/discourse/discourse (322k lines): Discussion forum platform.

  • Canvas LMS

    The open LMS by Instructure, Inc.

    github.com/instructure/canvas-lms (745k lines): A popular LMS (learning management system).

  • gitlab

    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 & event sourcing framework for Ruby

    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.

  • Hanami

    The web, with simplicity.

    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

    Business transaction DSL

    dry-transaction

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts