TeamScreen – general progress update #3

TeamScreen – general progress update #3

This will be the shortest post related to TeamScreen and Get Noticed competition. Recently I had a very little time for developing it and more importantly, I’m a little bit tired of it. I need a little break and with competition finishing in few days I’ll certainly have that 🙂 I did quite a lot stuff outside of work, you can check it out here and I think a break is very important when you’re doing them. We are not robots,…

Read More Read More

Accessing GitHub using REST and C#

Accessing GitHub using REST and C#

Some time ago I created a GitStat app and described it in this post. To do that I used the libgit2sharp library, which I also planned to use for git plugin for TeamScreen. Unfortunately, at the time I’m writing this post, there isn’t the libgit2sharp version for .NET Core. I needed alternate approach so I decided to go for accessing GitHub repository via its REST API. I wanted to have general solution, but it’s just not possible at this time 🙁…

Read More Read More

About simplicity

About simplicity

As software developers, we have a lot of rules – SOLID, DRY, YAGNI. They help us to create a source code that is easy to maintain. There is one more rule that in my opinion is much more important than all others – KISS – Keep It Simple Stupid. Why is it so important? Few examples: Architecture During years of work as a software developer, I came in contact with many systems. Often the architect/tech leader imagine a great architecture. The problem…

Read More Read More

Creating ProjectTeam plugin for TeamScreen

Creating ProjectTeam plugin for TeamScreen

As I mentioned in the first post of this series, when you are going through IT company, TV screens with a list of running/failing builds aren’t an uncommon thing. Depending on the size of the company you can pass many of them, but all you see it’s just a set of different words, you have not a clue what actually means. You pass these people every day and very often all you know about them are just those build names….

Read More Read More

Creating health check dashboard using Warden

Creating health check dashboard using Warden

Hello! Today’s post for Get Noticed competition will be about creating a dynamic dashboard for health checks. The goal of this is to have one place when you can check if every system/environment you maintain actually works. To do this I’m gonna use Warden, which is a library created especially for this task, by the last year winner of Get Noticed competition, Piotr Gankiewicz. Warden support a lot of different types of checks, can work in real-time and even send…

Read More Read More

TeamScreen – general progress update #2

TeamScreen – general progress update #2

Last three post were about creating a general architecture for TeamScreen application – handling views, settings, and plugins itself. Today’s post will be about polishing it. First screens showing how TeamScreen looks now: TeamCity plugin: JIRA plugin: Settings screen with TeamCity tab: In my opinion is definitely an improvement from how it looked before. I changed the bootstrap theme to use something more darkly by using SuperHero theme from Bootswatch site. Other minor things regarding UI: Created favicon using great generator I…

Read More Read More

Plugin architecture with ASP.NET Core and Autofac

Plugin architecture with ASP.NET Core and Autofac

The plugin architecture is definitely the trickiest part of TeamScreen yet. I encountered many problems during its creation and needed to compromise on few things. Treat this article more like proof of concept rather than the fully-mature solution – it works, but I believe it could be done better. If you have better idea, please share it in comments – I’m always open to constructive feedback 🙂 The requirements for the architecture are – the plugin itself is packed in a DLL file…

Read More Read More

Creating mechanism to save dynamic settings locally with ASP.NET Core, Entity Framework Core and SQLite

Creating mechanism to save dynamic settings locally with ASP.NET Core, Entity Framework Core and SQLite

Next step in TeamScreen development is settings screen. In time I plan to abandon solution with providing credentials to 3rd party services using configuration files and moved them to more user-friendly UI. In today’s post, I’ll start from saving only one setting – an interval between plugin change. Saving other settings will come after the creation of plugin architecture. The first thing we need to do is to remove existing reference to Microsoft.EntityFrameworkCore.SqlServer – it’s added by default when creating…

Read More Read More

Using ASP.NET Core and Vue.js to dynamically switch content of site

Using ASP.NET Core and Vue.js to dynamically switch content of site

I debated a long time with myself on whether or not I really need some kind of javascript library for TeamScreen. In the end, I decided, that in fact, I do need it – just because the code will be simpler. Keep in mind that TeamScreen it’s still a pretty much static website, that’s why I won’t be using stuff like Webpack or more and more popular React. TeamScreen is not an application that needs those kinds of sophisticated JavaScript libraries….

Read More Read More

My opinion on JavaScript

My opinion on JavaScript

Javascript had humble beginnings – initial version was written in only ten days and for a whole lot of time it was treated as a second level citizen in the programming world, capable of writing simple stuff like a guest book and that’s all. For years when you wanted to create a rich web application, you used Flash or less often Java and Silverlight applets. I remember ten years ago many people hated JavaScript and didn’t want to have contact…

Read More Read More