{"id":15003046,"url":"https://github.com/saintzet/dayzmapsloader","last_synced_at":"2025-10-30T09:31:22.695Z","repository":{"id":50337351,"uuid":"495783761","full_name":"SaintZet/DayzMapsLoader","owner":"SaintZet","description":"Project is to allow users to download maps for the game DayZ from two different map providers: Ginfo and Xam. The downloaded maps are of high quality and can be used to create different stuff.  Also personal library of knowledge.","archived":false,"fork":false,"pushed_at":"2023-07-25T14:12:17.000Z","size":5560,"stargazers_count":8,"open_issues_count":7,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-12T07:21:34.491Z","etag":null,"topics":["api","asp-net-core","clean-architecture","clean-code","cqrs-pattern","dayz","dayz-map","ddd-architecture","education","entity-framework","mssql-database","react","react-query","repository-pattern","swagger","typescript","webp"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SaintZet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-05-24T10:57:54.000Z","updated_at":"2024-08-31T09:15:52.000Z","dependencies_parsed_at":"2023-02-16T22:45:54.990Z","dependency_job_id":null,"html_url":"https://github.com/SaintZet/DayzMapsLoader","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SaintZet%2FDayzMapsLoader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SaintZet%2FDayzMapsLoader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SaintZet%2FDayzMapsLoader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SaintZet%2FDayzMapsLoader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SaintZet","download_url":"https://codeload.github.com/SaintZet/DayzMapsLoader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219856480,"owners_count":16556082,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","asp-net-core","clean-architecture","clean-code","cqrs-pattern","dayz","dayz-map","ddd-architecture","education","entity-framework","mssql-database","react","react-query","repository-pattern","swagger","typescript","webp"],"created_at":"2024-09-24T18:55:24.621Z","updated_at":"2025-10-30T09:31:17.026Z","avatar_url":"https://github.com/SaintZet.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** I'm using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n\u003cdiv align=\"center\"\u003e\n  \n[![Contributors][contributors-shield]][contributors-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n[![LinkedIn][linkedin-shield]][linkedin-url]\n  \n\u003c/div\u003e\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/SaintZet/DayzMapsLoader\"\u003e\n    \u003cimg src=\"images/repository-logo.png\" alt=\"Logo\" width=\"690\" height=\"335\"\u003e\n  \u003c/a\u003e\n\n  \u003cp align=\"center\"\u003e\n    Select your map, and create good stuff!    \n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/SaintZet/DayzMapsLoader/wiki\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/SaintZet/DayzMapsLoader\"\u003eView Demo\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/SaintZet/DayzMapsLoader/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/SaintZet/DayzMapsLoader/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#architecture\"\u003eArchitecture\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#solution-structure\"\u003eSolution Structure\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contacts\"\u003eContacts\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#acknowledgments\"\u003eAcknowledgments\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\nThis Github pet project is an application built with Domain-Driven Design (DDD) architecture and modern development patterns. It has a server component built using ASP.NET Core and a client component built using React. \n\nThe main purpose of this project is to allow users to download maps for the game DayZ from two different map providers: Ginfo and Xam. The downloaded maps are of high quality and can be used to create posters, cups, or other stuff. \n\nThis repository is also a small personal library of knowledge.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n### Built With\n* [![.NET 6][.Net]][.Net-url]\n* [![MicrosoftSQLServer][MicrosoftSQLServer]][MicrosoftSQLServer-url]\n* [![Swagger][Swagger]][Swagger-url]\n* [![React][React.js]][React-url]\n* [![ReactQuery][ReactQuery]][ReactQuery-url]\n* [![TypeScript][TypeScript]][TypeScript-url]\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n### Architecture\nThe concept of a Clean Architecture pattern has been around for over a decade and was initially conceived by Robert Martin. The keyword from Uncle Bob is Interchangeable. In the image below, everything on the blue circle is **interchangeable**, e.g., the UI can be swapped out from React to Angular, or the database can be migrated from MSSQL to Oracle, and nothing in the underlying layers needs to change.\n\nThe concept of having all your interfaces (Infrastructure and Application) in one project, will make it easier to Unit Test and mock.\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/SaintZet/DayzMapsLoader\"\u003e\n    \u003cimg src=\"images/ddd-diagram.png\" alt=\"ddd-diagram\" width=\"400\" height=\"310\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Solution Structure\n\u003cdetails\u003e\n\u003cbr\u003e\n  \u003csummary\u003eDomain layer\u003c/summary\u003e\n      I used Anemic Domain Model. Is used in DDD when the main focus is on data persistence and \n      because in this project there's not much need for complex business logic.\u003cbr\u003e\n      A Rich Domain Model is preferred when complex business logic needs to be encapsulated within the entities.\u003cbr\u003e\n    \u003cbr\u003e\n    \u003cdiv align=\"left\"\u003e\n      \u003ca href=\"https://github.com/SaintZet/DayzMapsLoader/tree/master/src/DayzMapsLoader.Domain\"\u003e\n        \u003cimg src=\"images/SolutionTree/domain.png\" alt=\"domain-layer\" width=\"400\"\u003e\n      \u003c/a\u003e\n    \u003c/div\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e \u003csummary\u003eApplication layer\u003c/summary\u003e\n\u003cbr\u003e\n  \u003ci\u003ePublic components\u003c/i\u003e\n  \u003cbr\u003e\n  \u003cli\u003e Contracts - interfaces for the Infrastructure layer (pattern Repository) and Services.\u003c/li\u003e\n  \u003cli\u003e Features - Queries and Commands for pattern CQRS.\u003c/li\u003e\n  \u003cli\u003e Extensions - here we have a method for configuring this layer for DI container.\u003c/li\u003e\n  \u003cli\u003e Models - data necessary for internal work.\u003c/li\u003e\n  \u003cbr\u003e\n  \u003ci\u003eInternal components\u003c/i\u003e\n  \u003cbr\u003e\n  \u003cli\u003e Builders - classes that implement pattern builder.\u003c/li\u003e\n  \u003cli\u003e Services - CQRS Handlers use it to get results.\u003c/li\u003e\n  \u003cli\u003e Helpers - bad practice, but these classes made code more readable by grouping related functions and providing a clear purpose for the code.\u003c/li\u003e\n  \u003cbr\u003e\n  \u003cdiv align=\"left\"\u003e\n    \u003ca href=\"https://github.com/SaintZet/DayzMapsLoader/tree/master/src/DayzMapsLoader.Application\"\u003e\n      \u003cimg src=\"images/SolutionTree/application.png\" alt=\"application-layer\" width=\"400\"\u003e\n    \u003c/a\u003e\n  \u003c/div\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e \u003csummary\u003eInfrastructure layer\u003c/summary\u003e\n\u003cbr\u003e\n  \u003ci\u003ePublic components\u003c/i\u003e\n  \u003cbr\u003e\n  \u003cli\u003e Contexts - database contexts (EntityFramework).\u003c/li\u003e\n  \u003cli\u003e Migrations - database migrations (EntityFramework).\u003c/li\u003e\n  \u003cli\u003e Repositories - implement pattern Repository. \u003c/li\u003e\n  \u003cli\u003e Extensions - here we have a method for configuring this layer for DI container.\u003c/li\u003e\n  \u003cli\u003e Services - infrastructure services (i/o operation, network e.g.).\u003c/li\u003e\n  \u003cbr\u003e\n  \u003cdiv align=\"left\"\u003e\n    \u003ca href=\"https://github.com/SaintZet/DayzMapsLoader/tree/master/src/DayzMapsLoader.Infrastructure\"\u003e\n      \u003cimg src=\"images/SolutionTree/infrastructure.png\" alt=\"infrastructure-layer\" width=\"400\"\u003e\n    \u003c/a\u003e\n  \u003c/div\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e \u003csummary\u003ePresentation layer\u003c/summary\u003e\n  \n#### Web Api\n\n  \u003ci\u003ePublic components\u003c/i\u003e\n  \u003cbr\u003e\n  \u003cli\u003e wwwroot - have custom UI for Swagger.\u003c/li\u003e\n  \u003cli\u003e Controllers - connection between Application and Client(web, desktop, mobile).\u003c/li\u003e\n  \u003cbr\u003e\n  \u003ci\u003eInternal components\u003c/i\u003e\n  \u003cbr\u003e\n  \u003cli\u003e Extensions - here we have the method for configuring DI container.\u003c/li\u003e\n  \u003cbr\u003e\n  \u003cdiv align=\"left\"\u003e\n    \u003ca href=\"https://github.com/SaintZet/DayzMapsLoader/tree/master/src/DayzMapsLoader.Presentation.WebApi\"\u003e\n      \u003cimg src=\"images/SolutionTree/presentation-web-api.png\" alt=\"presentation-web-api\" width=\"400\"\u003e\n    \u003c/a\u003e\n  \u003c/div\u003e\n\n#### Wpf\n\nBuilt using pattern MVVM pattern with modern approaches.\n\u003cbr\u003e\n\u003cdiv align=\"left\"\u003e\n    \u003ca href=\"https://github.com/SaintZet/DayzMapsLoader/tree/master/src/DayzMapsLoader.Presentation.Wpf\"\u003e\n      \u003cimg src=\"images/SolutionTree/presentation-wpf.png\" alt=\"presentation-wpf\" width=\"400\"\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e \u003csummary\u003eUnit/integrations test\u003c/summary\u003e\n\u003cbr\u003e\n  The tests covered the main elements of the system. Secondary elements such as migrations are not covered, there is no coverage of the project's WPF.\n  \u003cbr\u003e\n  \u003cbr\u003e\n  \u003cdiv align=\"left\"\u003e\n    \u003ca href=\"https://github.com/SaintZet/DayzMapsLoader/tree/master/src/DayzMapsLoader.Tests.xUnit\"\u003e\n      \u003cimg src=\"images/SolutionTree/tests-xunit.png\" alt=\"tests-xunit\" width=\"400\"\u003e\n    \u003c/a\u003e\n  \u003c/div\u003e\n\n  \u003cdiv align=\"left\"\u003e\n    \u003ca href=\"https://github.com/SaintZet/DayzMapsLoader/tree/master/src/DayzMapsLoader.Tests.xUnit\"\u003e\n      \u003cimg src=\"images/test-covarage.png\" alt=\"test-covarage\" width=\"500\"\u003e\n    \u003c/a\u003e\n  \u003c/div\u003e\n\u003c/details\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\nThis is an example of how you may give instructions on setting up your project locally.\nTo get a local copy up and running follow these simple example steps.\n\n### Prerequisites\n\nThis is an example of how to list things you need to use the software and how to install them.\n* npm\n  ```sh\n  npm install npm@latest -g\n  ```\n * Dotnet ef\n     ```sh\n     dotnet tool install dotnet-ef -g\n     ```\n\n### Installation\n\n1. Clone the repo\n   ```sh\n   git clone https://github.com/SaintZet/DayzMapsLoader.git\n   ```\n2. Install NPM packages\n   ```sh\n   npm install\n   ```\n3. Add a appsettings.json with connection string to DayzMapsLoader.Presentation.WebApi \n   ```json\n     \"ConnectionStrings\": {\n    \"DefaultConnection\": \"Server = YourServer; DataBase=DayzMapLoader; User id= YourUserID; password= YourPassword; Integrated Security=True; TrustServerCertificate=True;\"\n    }\n   ```\n 4. At this point you can have EF create database and create schema from the migration .NET CLI:\n     ```sh\n     dotnet ef database update --startup-project ../DayzMapsLoader.Presentation.WebApi --project ../DayzMapsLoader.Infrastructure\n     ```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- USAGE EXAMPLES --\u003e\n## Usage\n\nAt the moment you can install the latest version of the product to start the server and get all the necessary maps. \nYou know what to do with them.\n\nYou can create a fork and expand the repository, for example \n* create a desktop client \n* change image processing algorithms\n* add functionality that is useful to you\n* other\n\nTake some techniques and approaches to your projects.\n\nAnd of course - to contribute to the development of the project, help with existing issues or create a new one, improve the algorithm, or change something else!\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- ROADMAP --\u003e\n## Roadmap\n\n- [x] Provide archive(web) and byte array(desktop) with\n    - [x] selected map\n    - [x] selected map in parts\n    - [x] all maps by specific provider\n- [ ] Options for select a map\n    - [x] provider (GInfo e.g.)\n    - [x] name (Chernarus e.g)\n    - [ ] type\n        - [x] satellite\n        - [x] topographic\n        - [ ] tourist\n    - [x] zoom level\n    - [ ] version\n    - [ ] image quality\n    - [ ] image extension\n - [x] Desctop client on WPF\n - [ ] Web client on React (in the process)\n - [ ] Hosting server and client\n - [ ] Improve performance - store images on the server and just download them when changed something (e.g version map).\n\nSee the [open issues](https://github.com/SaintZet/DayzMapsLoader/issues) for a full list of proposed features (and known issues).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nContributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\nIf you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag \"enhancement\".\nDon't forget to give the project a star! Thanks again!\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the MIT License. See `LICENSE.txt` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- CONTACTS --\u003e\n## Contacts\n\nChepets Serhii - [@LinkedIn](https://www.linkedin.com/in/serhii-chepets/) - serhii.chepets@gmail.com\n\nYaroslav Tymchenko -[@LinkedIn](https://www.linkedin.com/in/yaroslavtymchenko/) - ytimchenko57@gmail.com\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- ACKNOWLEDGMENTS --\u003e\n## Acknowledgments\n\n\u003cdetails\u003e\n\u003csummary\u003eDomain Driven Design\u003c/summary\u003e\n\u003cbr\u003e\n\u003cul\u003e\n \u003cli\u003ehttps://www.codeproject.com/Articles/5351235/Clean-Architecture-Incorporating-Repository-Patter\u003c/li\u003e\n \u003cli\u003ehttps://dev.to/stevescruz/domain-driven-design-ddd-file-structure-4pja\u003c/li\u003e\n \u003cli\u003ehttps://thedomaindrivendesign.io/anemic-model-x-rich-model/\u003c/li\u003e\n \u003cli\u003ehttps://medium.com/software-alchemy/a-brief-intro-to-clean-architecture-clean-ddd-and-cqrs-23243c3f31b3\u003c/li\u003e\n \u003cli\u003ehttps://medium.com/software-alchemy/a-template-for-clean-domain-driven-design-architecture-e386ad235f32\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eUnit Of Work and Repository patterns\u003c/summary\u003e\n\u003cbr\u003e\n\u003cul\u003e\n \u003cli\u003ehttps://www.programmingwithwolfgang.com/repository-pattern-net-core/\u003c/li\u003e\n \u003cli\u003ehttps://dotnettutorials.net/lesson/repository-design-pattern-csharp/\u003c/li\u003e\n \u003cli\u003ehttps://exceptionnotfound.net/the-repository-service-pattern-with-dependency-injection-and-asp-net-core/\u003c/li\u003e\n \u003cli\u003ehttps://mentormate.com/blog/service-and-repository-layer-interaction-in-c/\u003c/li\u003e\n \u003cli\u003ehttps://gunnarpeipman.com/ef-core-repository-unit-of-work/\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eCqrs and MediatR patterns\u003c/summary\u003e\n\u003cbr\u003e\n\u003cul\u003e\n  \u003cli\u003ehttps://codeopinion.com/should-you-use-the-repository-pattern-with-cqrs-yes-and-no/\u003c/li\u003e\n  \u003cli\u003ehttps://abdelmajid-baco.medium.com/cqrs-pattern-with-c-a9aff05aae3f\u003c/li\u003e\n  \u003cli\u003ehttps://code-maze.com/cqrs-mediatr-in-aspnet-core/\u003c/li\u003e\n  \u003cli\u003ehttps://www.puresourcecode.com/dotnet/introducing-cqrs-in-the-architecture/\u003c/li\u003e\n  \u003cli\u003ehttps://medium.com/@dbottiau/a-naive-introduction-to-cqrs-in-c-9d0d99cd2d54\u003c/li\u003e\n  \u003cli\u003ehttps://learn.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/microservice-application-layer-implementation-web-api\u003c/li\u003e\n  \u003cli\u003ehttps://learn.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/cqrs-microservice-reads\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eSwagger\u003c/summary\u003e\n\u003cbr\u003e\n\u003cul\u003e\n  \u003cli\u003ehttps://github.com/ostranme/swagger-ui-themes\u003c/li\u003e\n  \u003cli\u003ehttps://learn.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-swashbuckle?view=aspnetcore-7.0\u0026tabs=visual-studio\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/SaintZet/DayzMapsLoader.svg?style=for-the-badge\n[contributors-url]: https://github.com/SaintZet/DayzMapsLoader/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/SaintZet/DayzMapsLoader.svg?style=for-the-badge\n[forks-url]: https://github.com/SaintZet/DayzMapsLoader/network/members\n[stars-shield]: https://img.shields.io/github/stars/SaintZet/DayzMapsLoader.svg?style=for-the-badge\n[stars-url]: https://github.com/SaintZet/DayzMapsLoader/stargazers\n[issues-shield]: https://img.shields.io/github/issues/SaintZet/DayzMapsLoader.svg?style=for-the-badge\n[issues-url]: https://github.com/SaintZet/DayzMapsLoader/issues\n[license-shield]: https://img.shields.io/github/license/SaintZet/DayzMapsLoader.svg?style=for-the-badge\n[license-url]: https://github.com/SaintZet/DayzMapsLoader/blob/master/LICENSE.txt\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://www.linkedin.com/in/serhii-chepets/\n\n[product-screenshot]: images/banner.png\n\n[.Net]: https://img.shields.io/badge/.NET-5C2D91?style=for-the-badge\u0026logo=.net\u0026logoColor=white\n[.Net-url]: https://dotnet.microsoft.com/en-us/\n[Swagger]: https://img.shields.io/badge/-Swagger-%23Clojure?style=for-the-badge\u0026logo=swagger\u0026logoColor=white\n[Swagger-url]: https://swagger.io\n[MicrosoftSQLServer]: https://img.shields.io/badge/Microsoft%20SQL%20Server-CC2927?style=for-the-badge\u0026logo=microsoft%20sql%20server\u0026logoColor=white\n[MicrosoftSQLServer-url]: https://www.microsoft.com/en-us/sql-server/sql-server-downloads\n[React.js]: https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB\n[React-url]: https://reactjs.org/\n[ReactQuery]: https://img.shields.io/badge/-React%20Query-FF4154?style=for-the-badge\u0026logo=react%20query\u0026logoColor=white\n[ReactQuery-url]: https://react-query-v3.tanstack.com\n[TypeScript]: https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\n[TypeScript-url]: https://www.typescriptlang.org\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaintzet%2Fdayzmapsloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaintzet%2Fdayzmapsloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaintzet%2Fdayzmapsloader/lists"}