Code Monkey home page Code Monkey logo

taskomask's Introduction

What is TaskoMask?

build and test GitHub issues

TaskoMask is a free and open-source task management system based on .Net. The primary goal of this project is to be an effort to show how we can design and develop a real software product based on advanced concepts like DDD, TDD, BDD, Microservices, etc. Where the experience of using them in a real product is mostly hidden behind software companies. Please take a look at its wiki!

Try it online: Website - User Panel - API

taskomask website

Documentation

Plan and Progress

All information presented after this section are the final goal and our big picture. Maybe at this time some of them are not ready yet. To see the plan and progress, please take a look at the following items:

Design

🔴Work is in progress

development architecture

Implementation

  • Back-end:

    click for details
  • Front-end:

    click for details
    • Blazor
      • Blazor Server
        • Cookie Authentication without ASP.NET Identity
        • It was Blazor Server befor refactoring it to WebAssembly (browse the codes here)
      • 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 questions 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 questions.

LinkedInInstagramGitHubMediumNugetEmailTelegramTwitter

Change logs

2023
  • Feb, 2023

    • Simplify Write Service Architecture
    • Implement Unit Tests for Task Services
    • Implement Integration Tests for Task Services
  • Jan, 2023

    • Extract Task Write Service
    • Extract Task Read Service
    • Remove Monolith Service
    • Simplify Write Service Architecture
2022
  • Dec, 2022

    • Extract Board Write Service
    • Extract Board Read Service
    • Implement Integration Tests for Board Services
    • Implement Unit Tests for Board Services
    • Handle RPC requests by gRPC
    • Extract API Gateway Aggregator
    • Complete API Gateway Configs by Ocelot
  • Nov, 2022

    • Implement Unit Tests for Owner Services
    • Implement Integration Tests for Owner Services
  • Oct, 2022

    • Extract Owner Write Service
    • Extract Owner Read Service
    • Handle Messaging by RabbitMQ
  • Sep, 2022

    • Extract Identity Service
    • Add IdentityServer as IDP
    • Add ASP.NET Identity
    • Add User Panel API Gateway
    • Refactor to Clean Architecture
    • Follow Vertical Slice Architecture
    • Follow Use Case Driven Development
  • Aug, 2022

    • Migrate from Monolith to Microservices
  • July, 2022

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

    • Implement Unit Tests
    • Implement Integration Tests
    • Implement Acceptance Tests
    • Implement API Tests
    • Implement UI Tests
  • Jan, 2022

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

    • Upgrade to .NET 6
  • Nov, 2021

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

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

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

    • Full refactore
2020
  • Nov, 2020

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

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

taskomask's People

Contributors

amiradeli avatar armanleft avatar connellsharp avatar hamed-shirbandi avatar kurnakovv avatar rezamansouri70 avatar sajadjalilian avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.