B4J Question Successful Business ABMaterial Framework Stories.

walterf25

Expert
Licensed User
Longtime User
Hi all, I would like to read from any success stories using ABMaterial framework, has anyone actually either for personal business purposes or for a client built a successful web app that is still currently being used by more than 1000 users on a daily basis.

The reason I ask this question is because I have been thinking of finally start working on an idea I've been contemplating for a few years, and I would like to find out whether ABMaterial would be a good framework to build it upon, or are there any other frameworks that can be used which would be better suited to build a web app that will be used by at least 1000 users per day, this web app will be able to support online payments, schedule appointments creation, text and email capability, end of day sales report generation, employee working hours tracking and many other functionalities.

My point is, since I'm not very knowledgeable in java script, php or any other web application frameworks, I would like to know of any of you here in the forum about any web apps built that can leverage my reason for wanting to use ABMaterial framework, I have built a few web apps at work that are being used daily but the usage is only in the order of 5 to 10 people on a daily basis, so not a great metric to make a decision.

Please let me know, I will wait for any responses.

Thanks,
 

alwaysbusy

Expert
Licensed User
Longtime User
This is exactly the kind of application we offer to our clients and the main reason we wrote ABMaterial. We have several thousands of users using the WebApp on a daily basis. People on the workfloor send tens of thousands of registrations every day to the software, either through our self build hand scanner (MQTT), or through some PWA's (written in BANano using a REST API). In the ABM WebApp, the office people can then check/edit those registrations, make projects, reports, invoices, send info to social bureaus, follow-up stock etc. Other jServer apps (that don't need an interface) work in the background to perform all kind of tasks to manipulate the data or send it over to other software through their REST API.
 
Upvote 0

MichalK73

Well-Known Member
Licensed User
Longtime User
My previous website at ABMaterial easily served 2-3 thousand users, including about 100-200 people who were constantly logged in. It operated for over 2 years. Currently, the new version supports up to 1,000 users, but with a lower online load (different specificity of the website). It has built-in online payments, reports, API, forum, communications, etc. The server can operate on very small resources. The CPU load on the server and the entire server is negligible. I use a short session lifetime because it takes up the most RAM because it often uses user variables in the websocket session. Over time, I notice errors, correct and optimize the code, but I still can't outdo @alwaysbusy or others from the forum. Some of the website's content is written in Python because it is simply better and easier to do, and then a link to the ABMaterial server backend. An example is generating PDF reports.
As for your assumptions, I think ABMaterial is quite suitable. However, you must know that everything has its limitations. It's easier to do something in ABMaterial, some in ABMCustomComponent and sometimes, as @alwaysbusy said, using some Banano framework.
 
Upvote 0

walterf25

Expert
Licensed User
Longtime User
This is exactly the kind of application we offer to our clients and the main reason we wrote ABMaterial. We have several thousands of users using the WebApp on a daily basis. People on the workfloor send tens of thousands of registrations every day to the software, either through our self build hand scanner (MQTT), or through some PWA's (written in BANano using a REST API). In the ABM WebApp, the office people can then check/edit those registrations, make projects, reports, invoices, send info to social bureaus, follow-up stock etc. Other jServer apps (that don't need an interface) work in the background to perform all kind of tasks to manipulate the data or send it over to other software through their REST API.
Thanks for your feedback @alwaysbusy that's exactly the feedback I was expecting to get, can ABMaterial and BaNano be used together on the same application?

I've looked at Banano previously but have never done anything with it.
 
Upvote 0

walterf25

Expert
Licensed User
Longtime User
My previous website at ABMaterial easily served 2-3 thousand users, including about 100-200 people who were constantly logged in. It operated for over 2 years. Currently, the new version supports up to 1,000 users, but with a lower online load (different specificity of the website). It has built-in online payments, reports, API, forum, communications, etc. The server can operate on very small resources. The CPU load on the server and the entire server is negligible. I use a short session lifetime because it takes up the most RAM because it often uses user variables in the websocket session. Over time, I notice errors, correct and optimize the code, but I still can't outdo @alwaysbusy or others from the forum. Some of the website's content is written in Python because it is simply better and easier to do, and then a link to the ABMaterial server backend. An example is generating PDF reports.
As for your assumptions, I think ABMaterial is quite suitable. However, you must know that everything has its limitations. It's easier to do something in ABMaterial, some in ABMCustomComponent and sometimes, as @alwaysbusy said, using some Banano framework.
Thanks for your feedback @MichalK73 one thing I'm a little concerned about is the speed of an websocket serving application and also the costs of the application living in a VPS environment, I have never used a VPS service and last time I checked prices were a bit high here in the U.S. my application seems it will be similar to what you have done.

So far I have only followed the template that comes with the examples, but can the feel and look of ABMaterial template be customized, for example can the top navigation/title bar be customized, removed or hidden? As I mentioned I'm not an expert with JS, but If I decide to go with ABMaterial I would like to be able to have full control over customization as well.

Regards,
Walter
 
Upvote 0

MichalK73

Well-Known Member
Licensed User
Longtime User
Performance and speed server:

Some VPS prices you have seen for dedicated versions and they are quite high due to the fact that you have the whole server to yourself. You don't need one at first. I think that for you and your requirements, a VPS like OpenVZ (starting at $4.5) or a slightly better KVM VPS will suffice in the beginning. For example, ramnode.com from your market :2GB SVZS 2048MB 2 Cores 60GB 2TB $7/mo. That's the cost of one coffee at your place. Such a server will calmly support you MySQL database and ABMaterial server up to 1000 users.
I one simple ABMaterial site for data entry and uploading continued to go on a VPS server with 256MB RAM for $7/year.
It is important in my opinion to choose servers with MVMe disk. They are fast so that you can safely the first database you can use SQLite.
In addition, you can use free services such as cloudflare, you plug in your domain, make a redirect to your own VPS. The plus side of cloudflare is that it protects your server, because you can not see the IP of the real server, so there are fewer attacks on your machine, and it gives a proxy for your site to the extent that it can save up to 90% of the transfer from the server to the client.
I have the site on a smaller server and with cloudflare works as if it were a dedicated server. I think for you in the beginning it is enough. And as you develop the application in the future you can calmly move to a more powerful machine.

So far I have only followed the template that comes with the examples, but can the feel and look of ABMaterial template be customized, for example can the top navigation/title bar be customized, removed or hidden? As I mentioned I'm not an expert with JS, but If I decide to go with ABMaterial I would like to be able to have full control over customization as well.
Yes you can hide, modify the bar, menu, colors, position. You don't need knowledge of JS or CSS for most of it at first. As I wrote earlier some things you will do quickly , others you will need to add code, and still others you will probably need to build your CustomComponent or insert your own JS into the code. This I can't give you an estimate because I don't know what you want to do. For example, you want to make PayPal payment so popular with you. I don't think there's a good B4X library for that, but they give you their own API and you can write the service yourself, or what's faster and proven use e.g. Python which has great tools ready for that and link to your service.

Overall, I think you will need a VPS anyway, whether you want to use ABMaterial or another Banano framework. However, something must be doing to you the logic of your service. Without VPS, I guess the only option is php and using web hosting services.
When choosing banana, you need to focus on learning frontend, sometimes js, css and html. Then writing an API server with website logic support. You have to connect everything to make it efficient and safe. In B4X there is something about API, you can write your own API yourself. I prefer to use e.g. FastAPI in python. Well, here comes another programming language.

However, for you, ABMaterial will probably be ok at the beginning because you don't need to know js, css, etc. to create a nice website. You don't need an API because both frontend and backend are one code in one server. In my opinion, debugging ABMaterial is much better than first debugging the Banano framework frontend and then debugging the API server and testing API security with the website.
The big advantage of the Banano framework is its powerful front-end website building tools. You can do miracles, but if you don't know the tools, it will take a lot longer to create the website. Hence the market division into frontend and backend, ABMaterial has everything in one.
 
Upvote 0

byz

Member
Licensed User
If you think the vps of the united states is more expensive, you can buy vps of the chinese service provider, but the machine is located in the united states, because of the exchange rate, you will feel very cheap. I ran jserver on debian 12. its ok
 
Upvote 0

walterf25

Expert
Licensed User
Longtime User
Performance and speed server:

Some VPS prices you have seen for dedicated versions and they are quite high due to the fact that you have the whole server to yourself. You don't need one at first. I think that for you and your requirements, a VPS like OpenVZ (starting at $4.5) or a slightly better KVM VPS will suffice in the beginning. For example, ramnode.com from your market :2GB SVZS 2048MB 2 Cores 60GB 2TB $7/mo. That's the cost of one coffee at your place. Such a server will calmly support you MySQL database and ABMaterial server up to 1000 users.
I one simple ABMaterial site for data entry and uploading continued to go on a VPS server with 256MB RAM for $7/year.
It is important in my opinion to choose servers with MVMe disk. They are fast so that you can safely the first database you can use SQLite.
In addition, you can use free services such as cloudflare, you plug in your domain, make a redirect to your own VPS. The plus side of cloudflare is that it protects your server, because you can not see the IP of the real server, so there are fewer attacks on your machine, and it gives a proxy for your site to the extent that it can save up to 90% of the transfer from the server to the client.
I have the site on a smaller server and with cloudflare works as if it were a dedicated server. I think for you in the beginning it is enough. And as you develop the application in the future you can calmly move to a more powerful machine.


Yes you can hide, modify the bar, menu, colors, position. You don't need knowledge of JS or CSS for most of it at first. As I wrote earlier some things you will do quickly , others you will need to add code, and still others you will probably need to build your CustomComponent or insert your own JS into the code. This I can't give you an estimate because I don't know what you want to do. For example, you want to make PayPal payment so popular with you. I don't think there's a good B4X library for that, but they give you their own API and you can write the service yourself, or what's faster and proven use e.g. Python which has great tools ready for that and link to your service.

Overall, I think you will need a VPS anyway, whether you want to use ABMaterial or another Banano framework. However, something must be doing to you the logic of your service. Without VPS, I guess the only option is php and using web hosting services.
When choosing banana, you need to focus on learning frontend, sometimes js, css and html. Then writing an API server with website logic support. You have to connect everything to make it efficient and safe. In B4X there is something about API, you can write your own API yourself. I prefer to use e.g. FastAPI in python. Well, here comes another programming language.

However, for you, ABMaterial will probably be ok at the beginning because you don't need to know js, css, etc. to create a nice website. You don't need an API because both frontend and backend are one code in one server. In my opinion, debugging ABMaterial is much better than first debugging the Banano framework frontend and then debugging the API server and testing API security with the website.
The big advantage of the Banano framework is its powerful front-end website building tools. You can do miracles, but if you don't know the tools, it will take a lot longer to create the website. Hence the market division into frontend and backend, ABMaterial has everything in one.
Thank you so much for all your insight, I have started working on my project so we'll see how it goes, this would be the first time I fully get deep into ABMaterial so far I love that I can pretty much use any B4J library, there are still some things that I will need to figure out but over all I am excited to finally be working on this project, as I have put it in the back burner for many years.

I also don't have much knowledge about how account creation, password reset, email registration confirmation should work, but I'm sure I will be able to find resources here in the forums or anywhere else.

Thanks again!
Walter
 
Upvote 0

walterf25

Expert
Licensed User
Longtime User
In addition, you can use free services such as cloudflare, you plug in your domain, make a redirect to your own VPS
I am exploring cloudfare, I already have a domain, and I see that I can create a free website with cloudfare, can you explain a little more in detail, how I would go about redirecting my domain to a vps? not sure I understand this part comletely.

Thanks,
Walter
 
Upvote 0

hibrid0

Active Member
Licensed User
Longtime User
I think abmaterial is just a toy. If you want to build something like a more solid.
I suggest you will Develop it with Ruby On Rails.
With this framework was builded internet web apps like: Airbnb, Twitter, Twitch, Github, Shopify, Basecamp, Bloomberg, Zendesk, Hulu, Groupon, Dribbble, Kickstarter, SoundCloud, CrunchBase, Fiverr, Heroku, Indiegogo, Ask.fm, YellowPages, Couch surfing, Kickstarter, Scribd, Pixlr, Yammer, ThemeForest, Netflix (something), Instacart, Robinhood, Codecademy.

Ruby on Rails is the best framework for one man.
Easy language, easy to build, lot of gems (like B4x libs, but with more organization)
Really mature framework, if you want help, have a lot of information.

And you will combine it with b4x if you like it.
 
Upvote 0

walterf25

Expert
Licensed User
Longtime User
I think abmaterial is just a toy. If you want to build something like a more solid.
I suggest you will Develop it with Ruby On Rails.
With this framework was builded internet web apps like: Airbnb, Twitter, Twitch, Github, Shopify, Basecamp, Bloomberg, Zendesk, Hulu, Groupon, Dribbble, Kickstarter, SoundCloud, CrunchBase, Fiverr, Heroku, Indiegogo, Ask.fm, YellowPages, Couch surfing, Kickstarter, Scribd, Pixlr, Yammer, ThemeForest, Netflix (something), Instacart, Robinhood, Codecademy.

Ruby on Rails is the best framework for one man.
Easy language, easy to build, lot of gems (like B4x libs, but with more organization)
Really mature framework, if you want help, have a lot of information.

And you will combine it with b4x if you like it.
I had no idea Ruby on rails can be used with B4X, do you have any examples of this?
 
Upvote 0

walterf25

Expert
Licensed User
Longtime User
You will use any of this gems to integrate Ruby on rails with B4X.

I will make an small project to test it.
By the way, I really don't think ABMaterial is a toy, I have used it in the past especially at work, and it is a great framework to create web apps without the hassle of knowing css or js, I really love working with it and the fact that it makes it easier for someone like me to create web apps that can be used from anywhere from inventory tracking to a full internal document control web app as it is my case.

Walter
 
Upvote 0

MichalK73

Well-Known Member
Licensed User
Longtime User
I think abmaterial is just a toy. If you want to build something like a more solid.
I suggest you will Develop it with Ruby On Rails.
With this framework was builded internet web apps like: Airbnb, Twitter, Twitch, Github, Shopify, Basecamp, Bloomberg, Zendesk, Hulu, Groupon, Dribbble, Kickstarter, SoundCloud, CrunchBase, Fiverr, Heroku, Indiegogo, Ask.fm, YellowPages, Couch surfing, Kickstarter, Scribd, Pixlr, Yammer, ThemeForest, Netflix (something), Instacart, Robinhood, Codecademy.

Ruby on Rails is the best framework for one man.
Easy language, easy to build, lot of gems (like B4x libs, but with more organization)
Really mature framework, if you want help, have a lot of information.

And you will combine it with b4x if you like it.
You are proposing something that your friend wants to avoid, i.e. writing a web app without knowing css, js or html. Ruby is a completely different language. You mention what great websites are being built, but were these websites written by one developer? There are dozens of programmers sitting there and I bet most of them use other languages like python, node js, etc. for subroutines.
 
Upvote 0

hibrid0

Active Member
Licensed User
Longtime User
Hi and you have a lot of reason, but check this please.
1. Without knowing html, css and js.
You will go with the gem called ActiveAdmin.
With this you will cover autenticacion, authorization, and web crud for your tables.
This is ideal to make internal tools and you don't need to touch any css, html or js. If this is what you want. I know is other language, Ruby.

2. Ruby on Rails is called "The One man framework" for some reason:




And yes you have reason in the currently projects I listed have a dozens of developer. But some of this don't start with dozens of developers, if my memory not fail (maybe will fail) Shopify start with the founder be the unique developer.
And I will find more in similar situation..

And finally exist a dozens for UI components ready to use and don't need to know a lot of html and css to use it.
For example:

And don't worry, I don't want to convince you to stop using abmaterial.
This is for future readers who are still searching for that something and maybe this post will take them down the path of Ruby On Rails .


And this framework can be integrated into our beloved b4x tools.

I think this will be perfect to our community.
 
Last edited:
Upvote 0
Top