https://github.com/iamsushantk/depth-chart-manager
Depth chart app used in sporting app
https://github.com/iamsushantk/depth-chart-manager
code-challenge depth-chart dotnet
Last synced: 10 months ago
JSON representation
Depth chart app used in sporting app
- Host: GitHub
- URL: https://github.com/iamsushantk/depth-chart-manager
- Owner: iamsushantk
- License: mit
- Created: 2023-05-12T07:18:52.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-23T00:18:48.000Z (about 2 years ago)
- Last Synced: 2025-01-29T14:43:52.648Z (12 months ago)
- Topics: code-challenge, depth-chart, dotnet
- Language: C#
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# About
Most team sports have a depth chart (a ranking of each player) for each position they have.
For example in NFL:
Ben Roethlisberger is listed as the starting QB and first on the QB depth chart.
Landry Jones, his backup is listed as the 2nd person on that depth chart.
This project tries to implement the depth chart functionality.
# Design
The solution is designed with extensibility in mind.
Following layers helps maintaining code complexity:
## Domain
This is the heart of application.
Domain have been clearly defined. Instad of making POCO classes, I have tried to make them rich with functionality.
## Core
This is an application/core layer where various interfaces (repositories/services) are declared. The only dependency this layaer has is Domain layer.
## Infrastructure
This is an infrastructure layer which implements outer layer concerns like repository.
## Console App
As the name suggests its the console app that runs the NFL scenario. This layer uses IDepthChartManager service to manage depth chart.
With service layer being totally independent of the console app, it can be easily plugged into web api framework too without any code change.
# Development
## Software Prerequisites
|Software|Mandatory|Download Link
|---|---|---|
|.NET Core 5.0.302|Yes|https://dotnet.microsoft.com/download|
## Build
`dotnet build`
## Test
`dotnet test`
## Run
`dotnet run --project DepthChartManager.ConsoleApp`