Skip to content

Fazzani/Synker

Repository files navigation

Synker API

Build Status Build Status

Quality Gate Status Coverage Reliability Rating Vulnerabilities Code Smells

Architecture (Clean architecture)

Inspired from NorthwindTraders Slides

Schema

archi_clean_diagram

Micro-services set

  • Playlists service
    • CRUD
    • Synchro (by playlist && by group)
    • Decorators
      • Cleaning names
      • Auto grouping
      • Shift time
      • Custom && dynamic
  • DataSources
  • EPG service
  • Picons service
  • Authentication Service (IDP)
  • Notification Service

How it works

This is using ASP.NET Core with:

Clean Architecture

Designing Domain Model Layer

  1. Persistence Ignorance (PI) principle says that the Domain Model should be ignorant of how its data is saved or retrieved:
    • No data access code
    • No data annotations for our entities
    • No inheritance from any framework classes, entities should be Plain Old CLR Object
  2. Putting all data access code outside our domain model implementation
  3. Using Entity Framework Core features:
    • Shadow Properties
    • Owned Entity Types
    • Private fields mapping
    • Value Conversions

Go further & references