Pages: Using JHipster and Kotlin and Angular

1 minute read

I have been working on a small side project for a couple of weeks now. Thematically, it’s nothing too exciting. Just a self-hosted web application to write markdown. Think a bit like Gists, just without versions.

I call it Pages, and I’m pretty happy with it so far. Not only because it might just be a side project that I actually manage to finish, but because the technology involved is pretty exciting. At least by my standards.

Some background: Before the summer holidays a friend mentioned that they used JHipster for building an application of theirs. I can’t resist trying out a tool if it’s advertised like that, so I wanted to have a look at that. Since there has been quite a bit of hype around Kotlin, I wanted to try that as well. And I wanted to create some Web Application because I don’t know s**t about web development and one can’t hide forever. Naturally I wanted to connect everything in one project. Its not as bad as it sounds.

Lots of Frameworks

When done, Pages will have been built using:

  • Angular 4.
  • Bootstrap 4
  • Docker
  • Spring
  • Kotlin
  • Gradle

Most of those things are part of JHipster and thus play together nicely. Still, learning how everything fits together was quite the challenge. In order to change the Application supplied by JHipster to suit my needs I needed to understand what was going on - at least rudimentary. Getting started with Gradle, and specifically, integrating Kotlin into the build took me a while. I wasted some time trying to customize the tests and playing with Spek. Although having never used Typescript before I must say that so far I find using it quite pleasant. Bootstrap makes building decent looking websites very simple. Regardless, fiddling with CSS is still a pain - just as expected.

The Result

Pages is still quite a way from being finished. I expect to work some more months on it. The first version, v.0.1 is quite bare bones but should be usable. The source code can be found on Github.

Updated: