TaskoMask icon indicating copy to clipboard operation
TaskoMask copied to clipboard

Task management system based on .NET 6 with Microservices, DDD, CQRS, Event Sourcing and Testing Concepts

What is TaskoMask?

build and test GitHub issues

TaskoMask is a free and open-source task management system based on .Net. This project is online, and everyone can use it as a team member or project owner. But the primary goal of this project is to be an effort to show how we can implement software technologies and patterns by .Net, so this can be used by developers who are looking for a real example project with real challenges. Please take a look at its wiki!

Try it online: Website - User Panel - Admin Panel - API

taskomask website

Documentation

Design

Work is in progress

development architecture

Implementation

  • Back-end:

    click for details
  • Front-end:

    click for details
    • Blazor
      • Blazor Server (last commit)
        • Cookie Authentication without ASP.NET Identity
      • Blazor WebAssembly (standalone)
        • JWT Authentication
      • Comunication between components
      • Local Storage
      • Consume REST API
      • Retry using HttpClientRetryHelper
      • Handle Drag and Drop
      • Using Modal, Toast, etc.
    • .HTML
    • CSS
    • JavaScript
    • JQuery
    • Bootstrap
    • Jquery.noty
    • Chart.js
  • Some other Features:

    click for details
    • Caching Behavior using Pipeline Pattern
    • Validation Behavior using Pipeline Pattern (Check both Fluent Validation and Data Annotation Validation)
    • Event Storing Behavior using Pipeline Pattern
    • Exception Handling
    • Cookie Authentication
    • JWT Authentication
    • Role Permission Base User Management without ASP.NET Identity
    • Swagger UI with JWT Support

Contributing

Contributions, issues, and feature requests are welcome. Any contributions you make are greatly appreciated.

Please see the Contribution Guide and follow the instructions to be a part of this project.

This project exists thanks to all the people who contribute.

GitHub Contributors Image

Articles And Tutorials

Supporting

We work hard to make something useful for .NET community, so please give a star ⭐ if this project helped you! We need your support by giving a star or contributing or sharing this project with anyone who can benefit from it.

Author & License

This project is developed by Hamed Shirbandi under MIT licensed. Find Hamed around the web and feel free to ask your question.

LinkedInInstagramGitHubMediumNugetEmailTelegramTwitter

Change logs

  • Aug, 2022

    • [x] Migrate from Monolith to Microservices
  • July, 2022

    • [x] Convert UserPanel from Blazor Server to Blazor WebAssembly
    • [x] Complete the functionalities for single user usage
  • Apr, 2022

    • [x] Implement Unit Tests
    • [x] Implement Integration Tests
    • [x] Implement Acceptance Tests
    • [x] Implement API Tests
    • [x] Implement UI Tests
  • Jan, 2022

    • [x] Full refactor Domain model with DDD concepts
    • [x] Separate Domain Model and Data Model
    • [x] Separate Read Side and Write Side Database
  • Dec, 2021

    • [x] Upgrade to .NET 6
  • Nov, 2021

    • [x] Convert user panel from ASP.NET MVC to Blazor Server
  • Oct, 2021

    • [x] Implement admin panel with ASP.NET MVC
    • [x] Implement administration subdomain
  • Aug, 2021

    • [x] Remove Asp.net Identity
    • [x] Add cookie authentication
    • [x] Add JWT authorization
    • [x] Implement API with ASP.NET Web API
  • Jul, 2021

    • [x] Full refactore
  • Nov, 2020

    • [x] Upgrad from net 3.1 to net 5
    • [x] Implement user panel with ASP.NET MVC
  • Oct, 2020

    • [x] Implement Website with ASP.NET MVC
    • [x] Implement Anemic Domain Model
    • [x] Create Repository