Skip to content

ehtesam4m/WeatherForecast

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Problem Description

  • Store weather forecast for a day.
  • Retrieve the weather forecast for a week in a human readable way (like "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching").
  • Forecasts cannot be in the past.
  • Temperature cannot be more than +60 and cannot be less than -60 degrees.

Build and Run

Architecture and Tools

  • Clean architecture - for project layering
  • Domain driven design
  • CQRS - Command and Query are separated in every layer.
  • MediatR - to separate command/query handling responsibilities
  • Fluent Validation - for validating command/query with MediatR pipeline
  • Exception filter - to return correct exception to client
  • Entity Framework Core - as ORM
  • SQL server - as Database
  • In memory SQL Lite - for integration testing
  • Xunit - as test framework
  • AutoFixture - for mocking data
  • Fluent Assertions
  • MOQ library - mocking methods
  • Builder pattern - to create mock for Domain entity
  • Console logger - for logging

About

Sample repository (in C#) with basic concepts of - Clean architecture, Domain driven design, CQRS, MediatR, Fluent Validation, Exception Handling, Clean and maintainable unit and intergration tests

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors