ikcomponeer.nl blog part 3 — action plan

Bertus van Dalen
2 min readMar 27, 2018

--

The website ikcomponeer.nl has been around since 2009. It contains eight recordings by the Dutch Metropole Orchestra. These recordings are cut to pieces like a jigsaw puzzle and presented in groupings per instrument section. Children may arrange the piece differently and experiment with the sounds, or they may try to make the piece of music as it was recorded. When saving their composition the system makes an mp3 mixdown that can be retrieved in a playlist and listened to, with parents or in the classroom with fellow pupils and a teacher. At its height there were a couple of hundreds of users per day of which 200 stored a composition to the playlist. Because the project is not multilingual these are mostly Belgian (Flemish) and Dutch users.

But alas, now Flash is not well supported for general purposes any longer so the usage is now declining. To make it future proof it will migrate from Flash to Angular and from PHP and MySQL to ASP.NET Core (C#) on Azure and table storage. This series of blog posts will cover the adventures. This post is about the data modeling technique to be used.

My expectations are high. I would like to start with the front end contract of the data in the existing application. The JSON object can be pasted into Visual Studio and generate a C# class of the front end contract. There needs to be a mapping to a data model to be stored in the database. The data model will be annotated and added to an Entity Framework Core container with CosmosDB adapter. The front end contract will be annotated to generate a Swagger. From there we can use a library to generate Angular HttpClient classes complete with TypeScript models.

The API should give a read and a write method. The write method can be used to migrate the data from the old MySQL and PHP stack using an Azure Function as the actor.

The Read method should be used by the new Angular application to fetch music compositions complete with the used music, so that we have a starting point for migrating from Flash to Angular.

I am very excited now that I have a plan using technologies that I love. I hope you as the reader of this blog post can be as excited and will follow me on the journey… in the coming days I will be blogging how this is done step by step.

--

--