This repository contains the API/backend and data synchronization code for Pylon Board
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.
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