Taking the best ideas of the MEAN stack and making them extensible. Start with an Express server. Use the best Node APIs. Choose Angular, or any other front-end framework. Store data in Mongo. Or Postgress. Or the cloud - Rupert hooks it up, and leaves the rest to you.
Rupert comes configured for all common frond-edge scenarios. Using Rupert as a project base will save you time and effort getting a project started, maintaining critical updates, and deploying to your final infrastructure.
Some tools focus specifically on one aspect of the front-edge development system. Others create unmaintainable webs of copy-pasted configuration and connection files. Rupert chooses the best defaults, while getting out of the way when you want control.
These examples show Rupert applications that do variations on a theme. Starting with a "Hello, user!", the examples add a backend API, data persistence, and integration with a third-party authentication library.
Rupert renders all code in ./src/client
as a single page application, and serves the resulting static assets.
Rupert loads the API routes in ./src/server
and remembers the people introduced.
Everything in Rupert uses the HTML, Javascript, and CSS technologies your team knows. Any library not available as a Rupert plugin can be included via CDN.
Rupert uses the powerful and flexible ExpressJS platform. Rupert handles all configuration for express, including logging and TLS/HTTPS.
Your team can focus on writing just your application's API. As the project grows to include other delivery platforms, rest easy knowing your data API is built on a scalable platform.
Rupert's plugin mechanism lets you quickly add both front-end and back-end dependencies. In this example, the Mongo plugin persists the greetings across server resets and instances.
Directly integrate frontend vendors in your application bundle, minimizing number of files your page loads.
Quickly configure database connections, which will be available whenever your server API routes are executed.
The Rupert Mongo plugin allows rapid prototyping, by exposing a REST API behind a single configuration flag.
Rupert doorman is a core module to handle third-party and integrated user authentication workflows. Simply install the appropriate passport providers, and add your client secrets to the Rupert configuration.
Building on the popular Passport library, you can use any supported authentication strategy.
Provide your own storage mechanism, do extend and enhance user management in a way that works best for your application's logic.
This is the freshest piece of Rupert - expect to see streamlined storage mechanisms and improved strategy integration soon!
While the example projects are an exercise in minimalism, Rupert has several started projects with various plugins pre-configured.
The Vanilla starter project is a pre-zipped and complete "Hello" application, from the example here.
curl https://raw.githubusercontent.com/RupertJS/rupert-grunt/master/dist/vanilla.tgz | tar x
npm init
npm install
The Bare starter project is the bare-minimum reasonable starter. It contains no plugins, only the most basic configuration, and no functionality.
curl https://raw.githubusercontent.com/RupertJS/rupert-grunt/master/dist/bare.tgz | tar x
npm init
npm install
The Angular starter project has plugins and configurations for AngularJS projects. It also has some basic Angular functionality, loading a single module and service to control the HTML title.
curl https://raw.githubusercontent.com/RupertJS/rupert-grunt/master/dist/angular.tgz | tar x
npm init
npm install