Ministry of Technology
Show Menu

Open Source Projects

Welcome to The Ministry of Technology open source projects. All open source Ministry of Technology products are distributed under the MIT License for maximum re-usability.

Select a type of project to filter…

The Ministry of Technology either authors or is involved with the following open source projects…

API Security

.net Standard 2.0 / C#

APIs can be secured in various ways. The Ministry.Web.ApiSecurity package supports 3 distinct forms of API security. Multiple forms of security within a single API can be supported but not, generally, on a single method. This allows internal use and external use applications of APIs in a secure manner.

Argument Guard

JavaScript (ES5)

This project provides simple guard methods for throwing appropriate type errors when arguments are incorrect.

Backbone Ribs

JavaScript (ES5)

An extension project which adds an additional layer of functionality to Backbone that simplifies creation of basic types of views, adds more granular JSON handling and separates concerns further by separating Views from Regions which enables proper garbage handling.

Client MVC

JavaScript (ES5)

A lightweight client MVC framework for building small Single Page Applications in JavaScript with it's roots in Backbone. A framework without the strict REST model dependencies of Backbone that is focussed on view management, leaving data access up to the framework user to do as they see fit.

Compositions

.net Framework 4.5+ / .net Standard 1.6 / C#

This project provides a suite of extension methods that enable fluent, functional style coding when manipulating objects. Extensions are split for Collections, Compositions and Projections. All projections are guaranteed 'Pure' in a functional sense.

CSV

.net Framework 4.5+ / .net Standard 1.6 /C#

This project provides a Generator for building CSV objects from files and vice versa. The CSV object structure is very simple and string orientated, reflecting the nature of the CSV file itself, with Rows and Cells modelled as their own classes. There is no strong typing involved.

Date Time Abstractions

.net Framework 4.0+ / .net Standard 1.0 / C#

This project provides a DateTimeAccessor class, with matching interface, which allows you to obtain the current DateTime object. This allows you to inject the accessor through Dependency Injection and mock the return value for accurate testing.

Entity Framework RepoLayer

.net Framework (various) / C#

T4 Templates for generating Repository layer code on top of Entity Framework database first. Packages are available for each major version of Entity Framework. ObjectContext based EF is supported from 4.3.1 onwards and DbContext from 5.

Fluent Guard

.net Framework 4.0+ / .net Standard 1.0 / C#

This project provides simple extension methods for handling argument validation in a fluent form. This allows for complex error handling within simple arrow functions.

IIS Multi-Host Redirector

.net Framework 4.0+ / C#

Allows multiple sites and URLs either complete or compiled from host and path elements to be redirected either in it's own site (recommended configuration) or within an existing site.

JavaScript On Load Function Stack

JavaScript (ES5)

This project provides a single function that enables you to stack code into the window onload event so that various functions can all be executed in order.

Model Builder Abstractions

.net Standard 1.0 / C#

This project provides several abstract interfaces which can be used for pattern structure for Builders when constructing Models. This ensures a common adoption of the Builder pattern between your business and model layers, making testing easier.

Reflection Helper

.net Framework 4.5+ / .net Standard 1.6 / C#

Makes the process of Reflection in .net much easier to code than it is using the standard methods provided by the framework by applying core features through a simple API.

Responsive MQ

JavaScript (ES5)

Designed to enable you to attach JavaScript functions to media queries so you can have viewport specific code executing within your app to partner up with your responsive CSS by registering named elements of mark-up to the current viewport.

Simple Twitter Stream

.net Standard 2.0 / .net Framework 4.5 / C#

This library is designed to provide a simple, strongly typed, twitter feed. It sits on top of the LinqToTwitter library. It provides the twitter feeds that you see on this website.

Strong Typed

.net Framework 4.0+ / C#

Base classes for generating strongly typed access to traditionally simple object or string type stores, such as ASP.Net Session state and the matching interfaces and test fakes to enable simple unit testing scenarios for the same.

Test Support

.net Framework 4.5+ / C#

Provides a suite of Fakes, Mocks and assertion classes that make the process of testing easier. This is not exclusively for unit testing either, the libraries also support console automation testing.

Umbraco Pylon

.net Framework 4.5.2+ / C# / Umbraco

Provides base classes and structures for developing well architected, developer focussed Umbraco solutions that maximise reuse and testability. Pylon was created for building web applications with a CMS focus from Umbraco.

URI Path Manager

JavaScript (ES5)

This project provides simple functions for working with paths.

URL Navigator

JavaScript (ES5)

This project provides simple functions for working with URLs, wrapping the location object.

Web Theming

.net Standard 2.0 / C#

This project allows you to apply themes to a website based on configured values and host URLs. This is achieved by providing simple configuration data.

WebDriver Extensions

.net Framework 4.5+ / .net Standard 2.0 / C#

Provides a basic styled framework to build a page structured model for writing UI Automation tests against.

Window Wrapper

JavaScript (ES5)

This project provides a simple wrapper for stubbing out window.location calls.

The Ministry of Technology also recommends and supports the following open source projects…

Magpie

SCSS / CSS / JavaScript

All the best bits of other people’s web development libraries. Magpie is a compilation of shiny bits and pieces from other people’s excellent frameworks, libraries and utilities.

Umbraco

.net Framework 4.5+ / C#

The simple, flexible and friendly ASP.NET CMS used by more than 225.000 websites. Umbraco is one of the best CMS systems out there with a rich history and an impressive install base. It's why it's our CMS of choice here at The Ministry of Technology.

Visit us on GitHub