Stack Name - Ruby on Rails


Ruby on Rails, or Rails, is a server-side web application framework written in Ruby under the MIT License. Rails is a model–view–controller (MVC) framework, providing default structures for a database, a web service, and web pages. It encourages and facilitates the use of web standards such as JSON or XML for data transfer and HTMLCSS and JavaScript for user interfacing. In addition to MVC, Rails emphasizes the use of other well-known software engineering patterns and paradigms, including convention over configuration (CoC), don’t repeat yourself (DRY), and the active record pattern.

While Harbormaster will handle creating everything required of CRUD functionality for each entity in a model, this version of the Rails tech stack does not yet handle generating everything for associations between entities.

Long NameBase Rails Tech Stack
Language(s)NodeJS, Javascript, HTML, YAML, XML, Velocity Macros
Git Url

Generated Project Support:


The core templates of this tech stack are as follows:

  •  Build/CICD
    • Vendor specific handlers using Velocity template files and macros to generate a pipeline YAML file for CI functionality.
  • Src/Models
    • Create a Ruby model for each entity found in the entity model.  Each corresponds to a table in the database.  Attributes are not declared here, but are instead declared in the initial migration schema. However, Enumerated types are explicitly declared here.
  • Src/Views
    • Creates a form and table view for each entity in the entity model.
  • Src/Views/Layout
    • The main and sub layouts for the application
  • Src/Controllers
    • Used to handle URL invocation with interaction to Rails underlying system that handles the model lifecycle
  • Src/Routes
    • For each entity, all appropriate routes for related CRUD actions
  • Src/Migrate
    • An initial migration schema file to get the database schema created for the provided entity model
  • Src/Seed
    • For each entity and its attributes, creates a single file with defaults data values to create multiple instances.  This is useful for testing
  • Src/Test
    • For each entity, creates a test for the associated controller to create, update, and delete that entity type.