GUI development for REST API based on AngularJS

OData support
Dr. Goldschmidt Balázs
Department of Control Engineering and Information Technology

Nowadays it is difficult for the Front-end developers to find more performant platform independent tool than JavaScript. Thanks to the fact, that every modern browser has a JavaScript interpreter, the JavaScript powered web applications are able to run on tons of devices, without effort. Over the time the HTML and CSS standards has grown up, they become suitable for creating web applications even for tablets and mobile phones. Thanks to Bootstrap framework, now it’s easier to develop platform and pixel-independent, responsive web applications.

The topic of my thesis is to design and develop a webapp based on technologies provided by Bootstrap 3 and AngularJS. With the help of my application, the users become able to use the full functionality of the backend in a user-friendly way, - without knowing anything about RESTful services. During the development, I became familiar with some third party platform modules, like $Linq, which is the JavaScript port of the popular Language Integrated Query feature invented by Microsoft.

During my work, I became familiar with the world of AngularJS, I understood the application lifecycle, and it’s major components. I designed the whole interface based on use-cases which described the possible user – system interactions. What this really means is that the user interface was designed to be user centric. Because of that I was able to require user’s minimal access level in order to show or hide some parts of the UI for him.

I also created some directives and filters for the webapplication. In the stage of development I designed and implemented a complex build system, which made me able to easily deploy the whole project for debugging purposes to the internal server, or create a deployment package – which can be installed in the production environment. I developed a complex, unique well improvable service access layer which is based on AngularJS’ factory service.

I used functional decoupling to create well maintainable software modules. Using the Prototypal inheritence I improved some of the JavaScript’s basic objects to fit my needs.

To prove that my controllers are behaving according to the specification, I created Unit Tests using Jasmine, which I integrated into the build-flow with the help of grunt and karma.


Please sign in to download the files of this thesis.