A set of scheduled tasks for aggregate Yu-Gi-Oh related data from various sources.
To provide access to the latest Yu-Gi-Oh banlist & card errata in a simple JSON format, via ygo-api.
- Setup the Ygo database
- For the web api, download and run Ygo-api
$ https://github.com/fablecode/ygo-scheduled-tasks.git
Modify the apiUrl in the app.config.You can get the web api url by running the solution in Prerequisite step 2.
- Visual Studio 2017
- .NET 4.6.2
- Onion Architecture and CQRS
- Topshelf
- Structuremap
- Topshelf.StructureMap
- Quartz
- Topshelf.Quartz
- Topshelf.Quartz.StructureMap
- TPL Dataflow Library for message passing dataflow and pipelining.
- Mediatr for CQRS and the Mediator Design Pattern. Mediator design pattern defines how a set of objects interact with each other. You can think of a Mediator object as a kind of traffic-coordinator, it directs traffic to appropriate parties.
- Wikia
- Fluent Validations
- Fluent Assertions
- NUnit
- System.Net.Http.Formatting.Extension for HttpClient extension methods like PostAsJsonAsync etc.
- Visual Studio Team Services for CI and deployment.
Below is a TPL dataflow pipeline for processing Articles Batches
The solution will have a single point of input. Article Batch Processor to processor the batches and place article in queue. Depending on the article category, one of the Processors will process the article. Lastly, article data is then persisted to storage (SQL Server).
This project is licensed under the MIT License - see the LICENSE.md file for details.