I always wanted to have a portal on “my terms”, so here goes ITA Web Starter

By | September 22, 2023

Why would I want to have a web site my own way if there are, already, Power Pages in Power Platform? 🤔

That’s for a bunch of reasons, but all of them come down to the fact that I want a solution for which I don’t need to break the bank. For a big organization, licensing fees associated with Power Pages might be acceptable to some extent, but, for a small one (and, especially so, in the case of a semi-personal web site) it may not be such an attractive proposition.

Besides, Power Pages have one apparent drawback, which is their inseparable connection to the Power Platform / Microsoft Dataverse. It’s good to have some extra options in the long term, since who knows…

This is why two things have happened:

  • I’ve finally put up a new web site for https://treecatsoftware.com It may not be that useful, or it may be, that does not matter too much since most of my work is still government subcontracting. Things may change? We’ll see.
  • That web site is using a combination of NextJS and Power Platform to provide some basic portal functionality, it’s sprinkled with Redis cache, and this whole thing runs on Docker containers which are all deployed on a small workstation PC stuck under my desk, with all of this sitting behind Cloud Flare for some extra protection

By the way, as with everything in this blog, feel free to have a look at the source codes:

https://github.com/ashlega/itaintboringweb

Although, don’t judge too hard, some of that could have been done better, but, in a way, it’s a learning project for me, too.

How is this all structured?

On the front-end side, there is a Next JS site which offers a few core features:

  • Authentication
  • Ability to submit requests
  • Ability to add comments to the requests
  • Ability to attach files to the requests
  • And there is an API layer

And there is Power Platform “backend”:

  • There is a model-driven app which allows me to work with the requests, comments, and files
  • And there is a bunch of HTTP trigger flows which are used as a form of the API

The “backend” is represented by a couple of Power Platform solutions, so this way I can rely on the usual Power Platform ALM for deployment of those flows to different environments (no need to bother about separate deployment process for the “real” web api/azure functions/etc).

You can try treecatsoftware.com for yourself, and, on the backend side, here are a few screenshots:

Of course when and if you decide to clone the repo, you won’t be getting “treecat” settings – there are default settings there. You will need to update .env file with the urls of those http trigger flows:

And you will also need to update SiteSettings.js file with the site-specific settings:

Now, this is not at all on par with the content management systems in terms of the configurability, and this is not at all on par with the Power Pages in terms of being “low code”. This is a bit of a pet project, I’m not sure where and how it goes from here, but we’ll see (I am hoping to document it better, though, in the next few weeks, and I’m also hoping to add a few more features which I feel may be needed… as in, some simple form of appointment scheduling perhaps).

Leave a Reply

Your email address will not be published. Required fields are marked *