Skip to content

Task management application based on .NET Core with DDD, CQRS and Event Sourcing Concepts

License

Notifications You must be signed in to change notification settings

connellsharp/TaskoMask

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What is TaskoMask?

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 main goal of this project is to be an effort to show how can we clearly implement software technologies and patterns by .Net so this can be used by developers how look for a real example project with real challenges. Take a look at it's wiki!

taskomask website

Documentation

We are trying to document all important information so you can use them to get more information about what we did and how we did and why! There is a list of our documentation:

  • This can be used by developers who want to know more about website, user panel and admin panel or can be used by end users who want to use the TaskoMask application to manage their project's tasks. TaskoMask source contains 3 web project as below:

    • TaskoMask.Web: This layer implemented by Blazor and it contains a website and a user panel for managing user's tasks. This layer uses REST API provided by TaskoMask.Web.Api and make an interactive web client.
    • TaskoMask.Web.Admin: This layer implemented by ASP.NET MVC and it contains a panel to manage whole TaskoMask data by administrators.
    • TaskoMask.Web.Api: This layer implemented by ASP.NET Web API and it contains REST API services for TaskoMask clients.
  • This is for developers to know about the domain model and understand the entities and relations and rules and variants and so on. By reading this doc you can understand the business of this project.

  • This doc is about the architecture, pipelines,technologies, patterns, approaches, decisions and other things we implemented in this project. We talk about our choices and decisions and challenges.

  • This is a live rest api service documentation generated by swagger and it can be used by front-end or mobile developers to make a client app. We use it in TaskoMask.Web layer to make a web client by Blazor.

Architecture And Tools

  • Back-end:

  • Front-end:

    • Blazor (soon)
    • .HTML
    • CSS
    • Java Script
    • JQuery
    • Bootstrap
    • Signalr.js
    • Jquery.noty
    • Chart.js
  • Patterns, Methodologies، Approaches:

    • Onion Architecture
    • DDD
    • CQRS
    • Event Sourcing
    • Notification
    • Repository
    • CRUD,Anemic Model (for less important subdomains)
    • Unit Test
  • Some technical features:

    • Caching Behavior
    • Validation Behavior
    • Event Storing Behavior
    • Application Exception Handler
    • In Memory Bus
    • Cookie Authentication
    • JWT Authentication
    • Role Permission Base User Management
    • Swagger UI with JWT Support
    • Combined Validation (Fluent, Data Annotation)
    • Automatic DB Logger

Contributing

Contributions, issues and feature requests are welcome. Feel free to check issues page if you want to contribute. Any contributions you make are greatly appreciated. Please check the issues and projecs pages before anything.

  1. Give a Star
  2. Fork the Project
  3. Create your Feature Branch
  4. Commit your Changes
  5. Open a Pull Request

This project exists thanks to all the people who contribute.

GitHub Contributors Image

Supporting

We work hard to make something useful to you so please give a star ⭐ if this project helped you! We need your support by giving a star or by contributing or telling about us to your friends.

Author & License

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

personal blog linkedin nuget email github instagram

Change Logs

  • Oct, 2021

    • Start admin panel with ASP.NET MVC
    • Implement administration subdomain by CRUD
  • Aug, 2021

    • Remove Asp.net Identity from project
    • Add cookie authentication
    • Add jwt authorization
  • Jul, 2021

    • Full refactore
  • Nov, 2020

    • upgrade from net 3.1 to net 5
  • Oct, 2020

    • Repository Created

About

Task management application based on .NET Core with DDD, CQRS and Event Sourcing Concepts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 76.3%
  • HTML 22.8%
  • Other 0.9%