One of the options on the movie list was a set of buttons with each movies genres. This list is nice to see what a movie is about but also rather useful to filter movies on. It turns out filtering documents on one or more tags in a collection of tags is rather easy to do using RavenDB. Using RavenDB’s LuceneQuery RavenDB uses Lucene for it’s indexing capabilities making it very capable for querying. Originally we where using the standard RavenDB query capability but now we will switch to using the LuceneQuery(). Form the AngularJS client we can pass … Continue reading The RAW stack and filtering movies by genre
So far loading and displaying some movies data has been pretty simple and straightforward. However something that was not immediately apparent was that not all movies in the database where shown. When opening the movies list there where just 128 movies visible and that was not all there was to show. In fact I have used the Rotten Tomatoes API to preload the database with more than 1000 movies and even though I never added a filter anywhere most of these didn’t show up. So what is going on? RavenDB = Safe by default RavenDB really is an awesome … Continue reading Paging data using AngularJS and RavenDB in the RAW Stack
In the previous blog post we created some basic unit tests for the AngularJS movies controller. As I mentioned there was one set of tests missing and that was around the controller doing HTTP requests to the WebAPI backend. In a unit test typically don’t want to do those test for real. First of all we don’t want to take a dependency on some external state and equally important we don’t want the overhead of those requests. Fortunately AngularJS makes it easy to fake those requests and test the controller bits in isolation. The $httpBackend service One of the … Continue reading Unit testing AngularJS HTTP requests in the RAW Stack
When I start with a new stack one of the first things I always do is create a really simple app to do something sort of meaningful. So lets do that with the RAW stack. Just as a reminder the RAW stack is a combination of RavenDB, AngularJS and WebAPI. These three technologies combined make a pretty awesome combination for a developer wanting to make smart client side web applications and is using .NET on the server. As the demo application I will be building is all about movie reviews and rentals lets start my a very minimalistic, … Continue reading Creating a basic skeleton with the RAW stack
With this post I am introducing the RAW stack. Why the RAW stack? Well it is kind of the equivalent of the MEAN stack. Not that there is anything wrong with the MEAN stack, quite the opposite, but being a .NET developer I really like to keep using .NET where it’s strengths lie and where it is suitable. Now there are plenty of places where it isn’t but C# on the server is still quite awesome. So what is the RAW stack? Basically the RAW stack consists of three parts. RavenDB AngularJS WebAPI Why these three? RavenDB Well … Continue reading Introducing the RAW stack
Getting started with angular js from Maurice Beijer The sample application is online on Windows Azure here. The source code can be found on GitHub here. The session recording can also be found online here. Enjoy!
Showing some kind of AJAX busy indicator is a common thing in web applications. However it is something you don’t want to do with every AJAX start and end of request. First of all writing all that code would be quite tedious but more importantly the might be multiple overlapping requests ongoing at the same time. And in a case like that you only want to show the AJAX busy indicator at the first request and more importantly hide it only when the last of the requests has finished. Fortunately AngularJS has some nice integration points allowing us to … Continue reading Showing AJAX activity in a AngularJS application
All the materials from my LIDNUG session on AngularJS are now online. Getting started with angular js from Maurice Beijer The source code can be found here and an online demo running on Azure here. The recording on YouTube can be found here. Enjoy!