Skip to main content.

Site Map

Site Map

Getting Started

We have created an example Service Brick for you to follow along while using our documentation. Visit our GitHub Page at https://github.com/holomodular/ServiceBrick to view our Example Service Brick. The example project contains all the source code needed to build a working Service Brick.

We also have our online microservice builder tool to help you get started. This allows you to quickly build a compete Service Brick infrstructure in minutes! Visit our Get Started Page to begin.

Development Environment Setup

In order to build a deploy Service Bricks, you must have a development environment setup. We recommend using Microsoft Visual Studio 2022. The community edition is aboslutely FREE and provides all the capabilities need to build and test your solution.

Storage Providers

We support several storage providers for our platform, however you don't have to create them all. If you only plan to work on one engine, you only need to implement that provider.

Our services offer the full range, so you can pick and choose the right provider for your needs. Most engines have a FREE development edition that allows you to run locally so you can test your Service Bricks. Some testing of some cloud-based providers may require additional expense.

Releasing Your Own Service Bricks

If you wish to create and release your Service Brick, thats great! We welcome the community and your contributions. Make sure your NuGet packages are prefixed with your company/developer name, such as: MyCompanyName.ServiceBrick.ModuleName

Implementing IModule

Although we have defined a Layered Design for the creation of a Service Brick, you don't have to use it. You can create one project and hold everything inside of it, or create dozens of more layers. In order to support this, we have developed an interface called IModule. Each Service Brick Layer that includes startup extension methods, should include a single class inheriting from this interface.


    public interface IModule
    {
        public string Name { get; }
        public string Description { get; }
        public string AdminHtml { get; }
        public List<Assembly> AutomapperAssemblies { get; }
        public List<Assembly> ViewAssemblies { get; }
    }

This interface defines locations for various needs of the system. If you have one or more assemblies with Automapper Profiles, they should be returned in the AutomapperAssemblies property. If you have one ore more assemblies with MVC controllers using attribute-based routing, they should be returned in the ViewAssemblies property.