codespirals

Welcome to codespirals

In an endless spiral, we close in on the perfect code. With each iteration we seem to get closer, yet we can never reach it. Such is life.

Codespirals is a small software company from Switzerland that attempts to create a solid foundation of code libraries and modules to build interesting and helpful projects on top of.

Libraries:

About

A codespirals library module is a set of mostly abstract code made for a specific purpose, which is usually described by the module's name and README.

Structure

Codespirals libraries usually contain anywhere from one to all of the following submodules, depending on size and scope:

Shared

Collections of interfaces that dictate the outline and behaviour of objects

Frontend

A set of classes and interfaces building upon the "Shared" package to facilitate the use of the module in a frontend application. This may include Blazor components.

Backend

Extensions, additional interfaces and functions utilizing the existing interfaces from the "Shared" package to facilitate adding the module to a project's EF Core database and generally using it in backend code.

Solutions:

Solution modules are next-to-fully implemented programs that can be attached to other projects to expedite frequently required functionalities like payment processing or mailing.

Structure

While largely unique to the individual solution, most share a few commonalities (though they are not required to):

Options Model

A class that contains all the options that can be individualised in a project, which are required to use the solution. This is a POGO class that mirrors the options set in the appsettings.json file (or similar).

Services

A set of [...]Service classes and interfaces that implement the functionality of the solution, which can be used via dependency injection.

App builder extension

One or more methods to add the solution to the IServiceCollection and IApplicationBuilder (usually in the Startup.cs file). If the solution contains only a single service, this is usually omitted.

Various Models and Exceptions

The simple models and exceptions that make sure the solution is as self contained as possible but can be properly interacted with by implementing projects.

Current generic codespirals libraries:

Codespirals solutions:

Projects these modules are used in:

Misc

Symbols

Sources