Skip to content

icelab/dry-web-skeleton

Repository files navigation

Icelab’s dry-web skeleton

This is an opinionated starter skeleton for dry-web projects at Icelab, but you might find it useful too!

It uses:

  • dry-web for the core application container and dependency management
  • Roda for HTTP handling and routing
  • ROM for database persistence
  • dry-view for data-oriented view rendering
  • dry-validation for data validation (e.g. HTML forms)
  • dry-types for shared application type coercions and constraints
  • dry-transaction for modelling complex business transactions
  • i18n for i18n-ing of things
  • Que for background job processing

It also integrates with these 3rd party services:

Read the documentation to learn more about working with apps built from this skeleton.

Installation

Create an app from this skeleton using Raygun:

gem install raygun
raygun -p icelab/dry-web-skeleton your_app_name

Then delete this top section of the README.md and fill in the section below with details specific to your app.

AppPrototype

Development

First-time setup

Set up the app:

./bin/setup

Running the app

Run the app with shotgun to reload code on each request:

bundle exec shotgun -p 3000 -o 0.0.0.0 config.ru