Project

twenty.rb

0.0
The project is in a healthy, maintained state
Minimal project management that runs on your computer
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

About

Twenty is a standalone web application with a practical purpose. But it's also a place where I can experiment with a different stack for the development of [web] applications in Ruby. See Design for more info.

Features

  • Provides a command-line utility to start / stop a web server
  • Connect / disconnect a project from the command line
  • Designed to work offline
  • Lightweight stack
  • Easy to install, easy to use

Design

  • The server is powered by rack and puma:
    • Accepts GraphQL requests at /graphql
    • Serves client (HTML, JS, CSS)
    • Dependencies: Sequel, SQLite3, ruby-graphql
  • The client is a statically compiled nanoc website:
    • Dependencies: webpack, typescript, react
  • The CLI controls the web server:
    • Start / stop web server
    • Run database migrations
    • Run developer console
  • Each component (server, client, cli) are separate packages in a monorepo
  • Easy to distribute as a RubyGem

Usage

CLI

Usage: twenty COMMAND [OPTIONS]

Commands:
  up             Start the twenty web server
  down           Stop the twenty web server
  connect        Connect a project to twenty
  disconnect     Disconnect a project from twenty
  migrate        Migrate the database
  console        Start the twenty developer console

Install

Twenty is distributed as a RubyGem:

$ gem install twenty

Sources

License

BSD Zero Clause.
See LICENSE