Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rivulet

Rivulet

A lightweight Rack framework built around Railway Oriented Programming, dry-rb, falcon, and Sequel.

Requirements

  • Docker

Quick Start

Create a New Application

Use the published base image to scaffold a new project:

docker run --rm \
  -v $(pwd):/app \
  mrvold/rivulet:latest \
  new blog

The image is pulled automatically on first run if you don't have it locally.

To include a database, pass --with-db:

docker run --rm \
  -v $(pwd):/app \
  mrvold/rivulet:latest \
  new blog --with-db=postgres

Supported adapters: postgres, sqlite, mysql. Omit the flag for no database.

Run the Application

The generated project includes a Dockerfile and a docker-compose.yml. When created with --with-db=postgres or --with-db=mysql, compose also runs a database service. On first run, compose builds the application image from the base image:

docker compose up

Rebuild after changing the application's Gemfile:

docker compose up --build

The application will be available at:

http://localhost:9292

Database

Create a migration:

bundle exec rivulet g migration create_users

Run migrations:

bundle exec rivulet db migrate

CLI

Show all available commands:

bundle exec rivulet --help

Show generator options:

bundle exec rivulet g --help

Documentation

  • Architecture & Design — docs/architecture.md

License

Apache 2.0

About

Rivulet is a small web framework built on the async/dry-rb ecosystem and forced layering architecture.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages