DEV Community

hamed shirbandi
hamed shirbandi

Posted on

Real-world open-source project based on .NET with Microservices, DDD, BDD and Testing concepts

TaskoMask User Panel Screenshots
When learning about advanced concepts like Microservices, DDD, CQRS, Event Sourcing, BDD, and TDD, you often find plenty of resources on theory and design. However, practical implementation guidance is scarce. After reading a book, you might wonder, ‘Now what? How do I apply these concepts in a real project?

What’s the problem ?

The challenge with advanced concepts like Microservices, DDD, CQRS, Event Sourcing, BDD, and TDD is that books and articles can’t provide comprehensive implementation details due to the complexity of real-world projects. If you’re not fortunate enough to learn through company projects, you end up searching the web for examples. However, most examples are too simplistic, often featuring a single entity like ‘customer.’ Real-world projects present complex challenges that these simple examples can’t address.

Here is my solution

Experienced developers often implement advanced concepts in companies, making that knowledge hard to access. Searching for open-source examples isn’t always sufficient. The best way to learn is by starting a real-world project, solving problems step by step. I’ve created TaskoMask, a real-world open-source project, to help accelerate your learning journey. If it helps, feel free to reach out and share your success!

What is TaskoMask?

TaskoMask is a free and open-source task management system built on .Net. It’s available on GitHub and online for testing. Our primary goal is to serve as a real-world example project for developers seeking practical challenges.

Documentation

TaskoMask is fully documented, with a clear roadmap on GitHub. If you have questions or encounter issues, don’t hesitate to create an issue on the project’s GitHub repository — I’m there to assist you!.

Architecture Documentation
Domain Documentation

Design Strategies

I have designed TaskoMask by following the bellow approaches and methodologies, Patterns, etc.

Microservices, DDD, CQRS, Event Sourcing, main concepts of TDD and BDD, Vertical Slice Architecture, etc. You can see the complete items on the project repository documentations.

Here are the development and deployment architecture diagrams you can see to understand the design strategies and implementation techniques.

TaskoMask Deployment Architecture

TaskoMask Development Architecture

Implementation Details

Here is a list of tools and technologies I have used for implementing the project:

.Net, C#, ASP.NET Web API, ASP.NET MVC, Blazor WebAssembly, Blazor Server, MongoDB, Redis, xUnit, FluenAssertion, NSubstitute, Gherkin, SpecFlow, Suzianna, Selenium, MediatR, AutoMapper, FluentValidation, Swagger, Serilog, Seq, MvcPagedList.Core, etc.

Supporting

I’ve dedicated over 2 years of my free time to create something helpful for people. I’d love to hear about your success and how my project has benefited you. Please consider giving a star ⭐ to the project on GitHub and sharing it with your friends on social media. Your support means a lot!

Top comments (0)