Skip to content
You must be logged in to sponsor codewithmukesh

Become a sponsor to codewithmukesh

Having quite a lot of experience with POS & Inventory Management systems, we set out to build out a full-fledged open-source system using our favorite tech stack and tools. Modular development was a prime requirement for us when we got started. Adapting to a Microservice architecture was the first choice we had. But given the complexities with the mentioned architecture, we decided to stay away from it at least for the starting.

There actually was no real need to implement microservices. fluentpos was meant to help businesses in their day-to-day activities. For this, a well-designed monolith application would also do the trick. We were clear to have the API and UI separated, to give opportunities to multiple client apps in the future.

For API, ASP.NET Core 5.0 was our obvious choice. As for the UI, we decided to go with Angular 12 Material UI.

The WebAPI application had to be highly modular to improve the development experience. This needed breaking down the application to logical modules like Identity, Catalog, Sales, Inventory. Each of these modules has its own controllers/interfaces / dbContext. As for the DB providers, Postgres / MySQL will be used. One module cannot directly talk to the other module nor modify its table. CrossCutting concerns would use interfaces/ events. And yes, domain events are also included in the project using mediator Handler. Each of the modules follows a clean architecture design / Onion / Hex.

fluentpos was meant for retail businesses. The modular monolith architecture would help us to extend fluentpos to support other business modules like cafes, restaurants, warehouses and so.

@codewithmukesh

Reaching the goal will allow the team to make enough time to put extra effort into the project.

Meet the team

0% towards 20 monthly sponsors goal

Be the first to sponsor this goal!

Select a tier

$ a month

Choose a custom amount.

$5 a month

Select
  • Get a Sponsor badge on your profile

$25 a month

Select
  • Logo or name goes in my project README

$100 a month

Select
  • Logo or name on project website
  • Have your bug reports prioritized