CircleCI

Basemate UI Core

What is basemate?

basemate is a "Rails Engine", turning the MVC-Framework "Ruby on Rails" into a Fullstack Web-Development Framework. With basemate you are able to write dynamic Web-Apps in pure Ruby. Javascript/HTML/CSS is only used for adding special, custom UI-Behaviour.

basemate is designed to write maintainable, dynamic Web-UIs on top of Rails and Vue.js with minimum effort. In order to increase development speed, basemate's architecture moves back- and frontend development closer together. In other words: basemate melts Rails and Vue.js down to one holistic Web App Development Framework.

basemate progressively replaces the classic Rails-View-Layer. You are able to use it alongside your classic views and incrementally turn your Rails-App into a dynamic, more maintainable Web-App.

Current State

This repo is currently under heavy development and should not be used until the first tested, stable version is released. Please use it only after being onboarded by the basemate team. Feel free to reach out if you really can't wait to start :)

Documentation

Documentation is built with basemate and hosted here: Docs

Source code of documentation can be found here: Docs Source

Core Contribution

Tests

Tests are defined in /spec folder.

Execute them with:


bundle exec rspec

CircleCI is integrated and gets triggered when new commits get pushed on master branch.

Release

Webpacker is used for managing all JS assets. In order to deploy a packed JS, we use a "builder" app found in repo_root/builder This builder app uses a symlink in order to reference the actual core found in builder/vendor.

You can run webpacker inside this builder app in order to pack JS assets:

cd builder

./bin/webpack

#or

./bin/webpack --watch

All webpack configuration can be found within the builder folder.

For further webpacker documentation: webpacker

License

The gem is available as open source under the terms of the MIT License.