Internship: Dynamic scaffolding for RESTful APIs

In recent years various web application frameworks with a strong focus on developer productivity were quite popular. These frameworks, like Grails, CakePHP en obviously Ruby on Rails, provide tools to ease the life a software developer. A good example being ‘dynamic scaffolding’ which is the subject of this internship.

With dynamic scaffolding the framework creates an administrative UI for the entities in your domain model on-the-fly (runtime). Hence, you don’t have to write any code to perform CRUD operations on these entities.

These previously mentioned frameworks are one by one server-side MVC framework with a central role for the domain model which is also used to generate the administratieve UI.

Fast forward to today.

Ever more applications we are creating exist of a collection of (micro-)services with a RESTful HTTP-based interface. This is besides the fact that we are seeing a shift from the use of server-side MVC frameworks with views using HTML/CSS and ‘tag on’ JavaScript for adding some dynamics to applications that are rendered client-side to create a much richer user experience, for example using AngularJS to create Single Page Apps.

The architecture that surfaces has a separation of presentation-logic running in the client’s browser that calls various RESTful HTTP services residing in the backend. However, we are accustomed to the luxury of getting these administrative UIs for free which we have now lost. Therefore, how are we going to get this convenience back while the model is hidden behind a service?

You assignment is to investigate the possibility of creating some form of ‘dynamic scaffolding’ for RESTful APIs. And create a working prototype.

Does this assignment appeal to you? Please contact Jorg Hollenberg,