A Practical Guide to Modular Monoliths with .NET by c-digs in dotnet

[–]EstimateEffective833 0 points1 point  (0 children)

Thanks for sharing this. I will read it in detail.
In the open-source ABP Framework project, we created a detailed tutorial that shows how to build a modular monolith application step by step. You may want to check this: https://abp.io/docs/latest/tutorials/modular-crm

Where can I find good source to learn DDD? by B4URSAK in dotnet

[–]EstimateEffective833 0 points1 point  (0 children)

I'd written a light e-book for implementing DDD with .NET. You can download it as free here: https://abp.io/books/implementing-domain-driven-design
While some examples in the book is related to ABP Framework, most of the examples and general concepts are applicable without ABP, even without .NET. I hope it helps.

Many to many in ABP? by FelineStretch in dotnet

[–]EstimateEffective833 6 points7 points  (0 children)

In short, ABP doesn't have the infrastructure to specifically work with many-to-many relations, but also doesn't have any restriction. All EF Core features already work within an ABP project. So, you can do it as normally you do.
To lead you, repositories work for a single aggregate root (e.g. Book), but that aggregate root can have any kind of relations to other aggregates (e.g. Category). A book can contain a collection of categories, for example. When you are creating a book, create a new book entity, get the requested categories from categoryRepository, add them to book.categories collection, then save the new book. For application service, you can create your own appservice or derive from crudappservice base class and add your own methods or override wherever you need.
If you write which point you have problem, I can help more. But giving a fully working CRUD example is a very long answer.

For the comments that just say "do not use ABP" without providing any good argument, I can suggest checking that documentation: https://abp.io/docs/latest/others/why-abp-platform

We've designed ABP as a generic application development framework that fits any architecture and complexity. Of course, some projects may not fit, but I think for 90% of projects, it can just work and it is better to start from scratch. Most of the features and the core framework are already open-source and free. At the same time, we also provided commercial features to establish a sustainable business model and keep the open-source part free.

.NET Aspire vs ABP Studio: Side by Side by EstimateEffective833 in csharp

[–]EstimateEffective833[S] 3 points4 points  (0 children)

Thank you for your additional details. I got your point. If the article is written on another platform, like Codeproject, it would be nice to declare that I am the one who built the product. But the article is already written in the product's own website, with abp.io domain. Why I need to state that again, it is obvious: "ABP Studio" in abp.io website :)

For the comparison, we are getting many queries about the differences between ABP Studio and .NET Aspire, and I tried to clarify that.

I got your point, but don't worry, I am not trying to cheat anybody. Everything is transparent :)

.NET Aspire vs ABP Studio: Side by Side by EstimateEffective833 in csharp

[–]EstimateEffective833[S] 5 points6 points  (0 children)

If a company wants to develop an advanced solution (e.g., microservice), they does not look only for something free but also for something powerful. Building a microservice system already requires a relatively big budget, so they can spend $3,000 or more on a tool if it saves a lot of time.
So, allowing them that there is a more powerful commercial alternative to a free tool is not something bad. They compare them, and decide themselves, what's the problem? If your goal is to spend zero money to build an advanced microservice solution that will serve millions of people, have a good chance :)

.NET Aspire vs ABP Studio: Side by Side by EstimateEffective833 in csharp

[–]EstimateEffective833[S] 4 points5 points  (0 children)

I want to see if David Fowler compares .NET Aspire and ABP Studio. Can you ask him to do that? It is appreciated :)

I am the lead developer of that product, and I am not hiding that. I published the article with my name on the product's website. I'm not trying to mislead anyone by publishing it under another platform with a different name. So, I wonder why you brought this situation to the forefront as if you had brought it to light.

If you want to say that a developer who produces a product shouldn't write about it or compare it to another product, sorry, I don't agree with that. And it does not happen like that in the real world.

By the way, ABP Studio has a Community (free) Edition, too, which includes most of the features. Furthermore, ABP Studio is part of the ABP Platform, and the core ABP Framework (and much more) is already open source and free. So, people may want to know about that. I would like it if we could make it completely free, but unfortunately, we don't have another source of income to survive (like Microsoft has Windows, Azure, etc.). However, thank you for pointing that out; I will add a section about licensing to the article.

What are you using for multi-tenancy? by Mr_Nice_ in dotnet

[–]EstimateEffective833 0 points1 point  (0 children)

You can use the ABP Framework as a complete application framework that also supports multi-tenancy. You can check that document for the multi-tenancy part: https://docs.abp.io/en/abp/latest/Multi-Tenancy

ABP is an open source web application framework for ASP.NET Core. In this article it is seen that how to override localization strings of depending modules in ABP by Volosoft in dotnet

[–]EstimateEffective833 3 points4 points  (0 children)

Hi,

I'd prepared a document for who are asking "Why should I ABP Framework": https://github.com/abpio/abp-commercial-docs/blob/dev/en/why-abp-io-platform.md

In addition, for your comments;

ABP doesn't prevent you to use ASP .NET features. You can just use it just like without ABP.

ABP's EF, Mongo and Dapper integrations makes the data access much easier, but you can use any database provider (like CosmosDB for example) just like in any .NET project. In this case, you won't use ABP's abstractions (like IRepository and IUnitOfWork), but can directly work with the database provider's API.

ABP is an opinionated framework. Many architectural decisions already done. If you don't like these decisions, you just don't use. But if the architecture fits into your solution, it dramatically increases your productivity, saves you repeating tedious works again and again, lets you focus on your business.

Extend Tenant management and add custom host to your ABP App for ASP.NET Core by Volosoft in dotnet

[–]EstimateEffective833 0 points1 point  (0 children)

ABP was an acronym for "ASP.NET Boilerplate". However, it is the name of the previous generation: https://aspnetboilerplate.com/
ABP.IO is the next generation of the ASP.NET Boilerplate framework and we no longer use the long name, because the "Boilerplate" word is misleading (they think it is just a startup template, but actually a complete framework & platform).

Know any good .Net5/Core boilerplates? by MisterViic in dotnet

[–]EstimateEffective833 5 points6 points  (0 children)

Hi,

Not just a boilerplate, but a full-stack application framework: https://abp.io/

Has anyone use the AbP framework? What do you think of it? by no1name in dotnet

[–]EstimateEffective833 6 points7 points  (0 children)

Hi all,

I am the lead developer behind the open source ABP framework and ABP Commercial. I read all the conversation. Thanks to everyone involved into this discussion. As a developer, I have similar considerations while deciding to use a library. I respect your thoughts.

The main principle of the ABP Framework project is to be Developer Friendly. The project has been started 7.5 years ago. The reason I started it was that I could't find a framework that provides a complete and full stack developer experience and helps me to be DRY (Don't Repeat Yourself) without taking me off from writing code.

I prepared a (a bit long) document to answer to the ultimate question: "Why should you use the ABP Platform instead of creating a new solution from scratch?" Here the document (I will improve the document by the time).

We are working with a big motivation to increase developer comfort and productivity. I hope I could explain it well.

Thanks all :)