# Dry-system: example app

**URL:** <https://discourse.dry-rb.org/t/dry-system-example-app/1253>\
**Category:** dry-system\
**Created:** [April 26, 2021, 6:32pm UTC](https://discourse.dry-rb.org/t/dry-system-example-app/1253 "2021-04-26T18:32:14Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![wuarmin](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.dry-rb.org/wuarmin/32/641_2.png) [@wuarmin](https://discourse.dry-rb.org/u/wuarmin)\
**Post date:** [April 26, 2021, 6:32pm UTC](https://discourse.dry-rb.org/t/dry-system-example-app/1253/1 "2021-04-26T18:32:14Z")

</div>

Hey,  
I started creating an example app **try\_hanami\_api\_and\_dry\_system** to get started with dry-system. I believe that it is, especially for dry-system-newbies, helpful to have a reference application. Maybe this app would help somebody in the future 🤏

But before that, I want to clarify some questions and improve the example. Maybe someone could take a look at the app and give some feedback. That would be very helpful.

For the sake of simplicity I added some questions as code-comments, so it should be clear, what’s my issue and goal:

# Best practice to register classes/modules instead of instances:

> <https://github.com/wuarmin/try_hanami_api_and_dry_system/blob/a65de225497e4a234be93d3ab7794e95ede9df9d/app/lib/controllers/show_user.rb#L10>

# How to auto/lazy-require files

> <https://github.com/wuarmin/try_hanami_api_and_dry_system/blob/a65de225497e4a234be93d3ab7794e95ede9df9d/spec/controllers/env_spec.rb#L1>

Furthermore:  
While creating I was not sure, how to auto-require Gemfile deps. So I created the bootable `:dependencies` component (`system/boot/dependencies.rb`). What do you think about it?

I would appreciate your feedback.

Best regards
