Adding services to a rails app

Hi all!

I have an app, and it’s pretty simple services platform for businesses.

Right now there are many organizations (for ex: Thoughtbot), and each organization has many employees in the database (all the Thoughtbotters each are a row in the employees table).

Our goal is that each organization can activate a variety of services for their physical location that use the data from the organizations and employees tables.

For example, one of them is guest registration, so every time a visitor comes to the office, they create a Guest record. One of the features of guest registration is that a text to the employees is sent.

Another would be activating a member directory they could display. So employees can learn about who else is in their work space.

Yet another would be a job/gig board where employees could post about tasks they need done.

Hopefully these three examples illustrate what we want to do.

For each of those three different services, how should their logic be put into the app?

For example would each one be a concern? Or maybe I make a app/services and each service it’s own file like guest_registration.rb gig_board.rb, etc.

Would each service also be it’s own class or a module? I’m leaning module because no service really uses it’s own data, and I don’t think the services themselves ever become ruby objects.

I know that just glomming this all in controllers will quickly hamstring me, so any advice on how best to proceed would be appreciated.


I’ve began the services concept implementation on my repo:

It’s on a branch called “services_concept”

Knowing what I’m trying form the prior message, can someone let me know if my commit’s seem like decent implementation?