Development packages

 

Backend

  • Entity Framework Core
    For handling data in an easy, code first approach

  • MediatR
    For handling messaging internally when the different areas of the code need to communicate

  • Fluent Validation
    Rule and data validation engine for the backend / API

  • Automapper
    For mapping object in the code, to not do it manually, it also offers object property filtering and transformation in an easier way than writing it from scratch

  • Serilog
    In the core election code, this is used for capturing errors and formatting them correctly.
    In OS2Valghalla 3.0 we will extend it to also capture other events.

  • RabbitMQ
    Queue library for use in different scenarios where it would be necessary to have a queue, like sending digital post and automatically updating participant core data.

  • MassTransit
    Is to RabbitMQ layer what MediatR is for the database layer, an abstraction layer to easier code against RabbitMQ.
    It supports multiple queue solutions so is should be easier to replace RabbitMQ in the future is that is what is required.

  • ITfoxtec Identity Saml2
    A SAML library. This implementation is being maintained and it supports Context Handler and MitID handling. More info: https://www.itfoxtec.com/

Frontend

  • Angular
    Selected Frontend JavaScript library

  • Angular Material
    Components and visualization library for Angular.

  • SubSink
    Sbuscription framework to handle subscription (create, remove, change) on controls, components, elements, variable etc.
    With an easy model to register and unregister subscriptions.

  • Transloco
    Framework for handling languages in the solution

  • Observable store
    Frontend state framework that can be used with SubSink to make powerful state aware solutions

  • Tailwind CSS
    Used where Angular materials lack sufficient control or is difficult to work with.

  • designsystem.dk
    Danish HTML, CSS and JavaScript framework targeted public (government, municipal or other public institutions) systems
    We will primarily be using the CSS.

Test

  • NetArchTest
    An easy framework to create coded rules for unit testing.