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

TeamScreen – general progress update

TeamScreen – general progress update

I though it’ll be easier. I can say, that a have a lot of external stuff that needs to be done and I don’t spend as much time as I think I should on each post – nevertheless, these are just excuses. I’m stumbling, but I’m still moving forward 🙂 Today’s post will be about introducing some order into project – some general refactoring, better UI and some features that should have been implemented before – stuff, that’ll make this project prettier…

Read More Read More

ASP.NET Core default project content

ASP.NET Core default project content

Post about creating ASP.NET Core project very briefly described how to setup project without much thinking, this time it’ll be a little more in depth. I’ll describe what initial project contains, what are differences between ASP.Core and ASP.NET MVC, what is new. Setup is same as before – empty ASP.NET Core project for .NET Core 1.1 with Web Application template, Individual Accounts authentication and without Docker support. So this is how empty looks like, If you had previous experience with ASP.NET…

Read More Read More

JIRA integration with C# and REST API

JIRA integration with C# and REST API

JIRA is one of the most popular tools for IT teams to manage work and it’ll be next integration for TeamScreen. Documentation is straightforward, so It was easy for me to do it. Same as with TeamCity integration I’ll leverage the power of REST API and RestEase library. For authentication, you have two options – basic HTTP authentication and oath. Recommended is OAuth, but for now, I’ll use basic HTTP authentication, because at the moment the priority is just to connect and display issues from JIRA. JIRA…

Read More Read More

Configuration in .NET Core

Configuration in .NET Core

Setting up From the beginning of .NET we used web.config or app.config files for application configuration. When you’re create new ASP.NET Core project you’ll no longer find those files, instead you’ll have appsettings.json file and in Startup class constructor you’ll find setup of it: This configuration tells us to search for settings file in main application directory (env.ContentRootPath), use appsettings.json file, that must exist (optional: false) and reload whole application, when it’s changed (reloadOnChange: true – available in .NET Core…

Read More Read More

TeamCity integration with C# and REST API

TeamCity integration with C# and REST API

As I mentioned in my previous Get Noticed post. TeamScreen first integration will be with TeamCity. For those who don’t know TeamCity is a continuous integration tool created by awesome guys from JetBrains company that brought you Resharper, IntelliJ, WebSharper and many other great tools. What I want from TeamCity is a list of builds and statuses for them. A quick search in google gave me this page, which describes how to connect to TeamCity and get an info I need using REST…

Read More Read More

About finishing IT projects and perfectionism

About finishing IT projects and perfectionism

In past I started most of my IT-related projects from vision – how should finished product look like, how should it be named, what features should it have? I spent a lot of time imagining it and all the money I’ll earn from it :). Vision and planning itself isn’t good or bad, it has pros and cons, it’s just good to know them. For example, it’s generally good to know, where and why you’re going, problem is when most of…

Read More Read More