Skip to content

pylonboard/dotnet-pylonboard-monolith

Repository files navigation

Pylon Board API / Backend

This repository contains the API/backend and data synchronization code for Pylon Board

Getting started

This code is written in dotnet 6 which is available cross platform.

Ensure that you have the latest dotnet 6 SDK installed and Docker (+docker compose), then getting started is as simple as:

docker compose up -d

And then run the API

dotnet run --project src/ServiceHost/ServiceHost.csproj

The default launch-settings will not start downloading data, as this is both CPU and network heavy. If you want to download data, edit the file src/ServiceHost/Properties/launchSettings.json and add BACKGROUND_WORKER to the PYLONBOARD_SERVICE_ROLES_ENABLED config variable.

Code Structure

The solution structure is based on the Clean Architecture pattern which is also described as Common web application architectures by Microsoft.

  • terra dotnet

    • To be separate repository down the road with everything related to parsing Terra transactions / messages
  • Kernel types

    • Entities (business model classes that are persisted)
    • Aggregates (groups of entities)
    • Interfaces
    • Domain Services
    • Specifications
    • Custom Exceptions and Guard Clauses
    • Domain Events / Contracts
    • Extension methods
  • Infrastructure types

    • Database migrations and setup / configuration
    • Data access implementation types (Repositories)
    • Infrastructure-specific services (for example, FileLogger or SmtpNotifier)
    • MassTransit Consumers
    • Terra data fetchers
    • API integrations
  • ServiceHost types

    • GraphQL resolvers/mutations and types
    • MassTransit configuration
    • Startup
    • Configuration parsing and setup

About

dotnet backend for data ingestion and query api

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages