Jmix Bookstore - a new comprehensive Jmix example

Hi everyone,

over the last months we have seen the need for a more comprehensive example application over the commonly known “Jmix Petclinic”. It should have the ability to outline the advanced features of Jmix as well we give you a easier time to see the various premium add-ons in action.

So we just created one for you!

Let’s give a warm welcome to :tada: :clap: :clap:t5: :tada: “Jmix Bookstore” :tada: :clap:t3: :clap:t6: :tada:

Jmix Bookstore

logo

The Jmix Bookstore example application is a comprehensive example of what advanced capabilities Jmix provides for application developers. Compared to the Jmix Petclinic example application, the Bookstore is way bigger, covers more advanced use-cases and shows the capabilities of various add-ons (free as well as premium) and their integration into a Jmix application.

1-overview

Add-ons

The application is also a show-case application for multiple add-ons from the Jmix Marketplace. Jmix Bookstore uses the following add-ons:

  • Multi-Tenancy
  • Email
  • Reports
  • data-tools
  • Quartz
  • BPM (premium)
  • Notifications (premium)
  • Maps (premium)

Online Demo

The demo of the Jmix Bookstore is available at demo.jmix.io/bookstore.

Documentation

You can find a deeper explanation on the business functionality as well as technical information on how particular parts were implemented in the Jmix Bookstore README:

Screenshots

1-login
2-sales-representative-list-new-orders
2-sales-representative-create-order
3-order-fulfillment-confirm-order
6-admin-territory-overview
4-procurement-specialist-supplier-order-review-task-list
7-place-supplier-order-bpm

Hopefully this will contribute to seeing and learning about the vast amount of (advanced) features of Jmix even better for you all.

We have plans to extend it further over the next months and make it more linked in the Jmix documentation so that you when you are in the docs can jump to a existing example that implements the corresponding parts of the docs.

Feel free to try it out, play around with it, give feedback or ideas on how to make it even better.

10 Likes

Really great job, thanks a lot.
Unfortunately Jmix Studio has no “read only/view only” mode for commercial add-ons functionality so those who do not have enterprise subscription can not see how commercial add-ons looks at Studio.

Hi,

Yes that is true. It is because IDEA tries to resolve the dependencies and without having a license that allows to download the premium addons code, it will fail to download them.

I think what you can do is to comment out the dependencies of the premium addons in build.gradle and the doing a gradle refresh.

This should allow you to open the project. You still cannot run it, as you would get compiler errors, but at least you can see the source code (I guess this is what you are looking for, right?)

Cheers
Mario

1 Like

hello Mario, thx for the great efforts! Before I start exploring I like to ask whether I got this right that you need the Enterprise Edition of JMIX in order to run the sample?

Thx a lot and have a nice weekend.

best regards,

Michael

HI Michael,

yes this is true - the Jmix Bookstore example relies on the enterprise add-ons. One of the main reasons for creating the example is to showcase the enterprise add-ons. Therefore the solution relies on the add-ons to be there in order to fulfil its goal.

If you don’t have a subscription you are not able to run it locally. Because of this, we have hosted the online version of it: https://demo.jmix.io/bookstore. This way you can see the resulting application and can play around with it even without the need to clone the repository and run it locally.

With the above mentioned trick, you can open the project in Jmix Studio to browse the source code.

Alternatively you can also use Github’s online browser at: https://github.dev/jmix-framework/jmix-bookstore which will give you a VS-code environment to browse all the source code.

If you want to explore the enterprise add-ons further and with that also run the Bookstore demo, you can request an enterprise license trial of 28 days (see: Account and Subscription :: Jmix Documentation). This should be enough time to explore the capabilities of the Bookstore example including running it locally.

In case you already have initially used the trial subscription, it is probably possible to send an Email to info@jmix.io and request another trial license. I guess this should be possible for the people who are interested in looking into the enterprise add-ons but played around before the Jmix Bookstore was present.

I hope this helps answering your questions @bitsoft.

Cheers
Mario

2 Likes

Good evening Mario, thx for your fast reply and helpful answer!

I will try to explore as much as possible.

best regards

Michael

Hello Mario!
I’m also looking forward to playing around with the new Bookstore. Last July I bought the RAD version.
Now, a little bit following what you posted here to @bitsoft, and already being provided with the trail package and the Bookstore project zip package from github,
I can either start the trail package or the Bookstore project. But unfortunately not then Bookstore project with the new add-ons included. So I’m kind of stuck here… Or isn’t it possible to get the Bookstore working locally for the 28 days trail?
Thanks in advance for your help n support,
best regards
‘HP’ Hans-Peter

Hi Hans-Peter,

can you elaborate what you mean by this:

and also what you mean by that statement:

I’m not 100% sure if I really understand what you mean.

Besides that @egor.lavrenkov might also jump in here reagarding the enterprise addon & subscription setup. I’m not really an expert here :slight_smile:

Cheers
Mario

Hi,

It is possible to modify a Bookstore sample in order to make it work with trial commercial add-ons.

You will need to copy the trial-repository directory from the jmix-commercial-addons-demo sample project to the root of the jmix-bookstore project.

After that modify the build.gradle file of the jmix-bookstore project: register the trial-repository directory:

repositories {
    mavenCentral()
    maven {
        url 'https://global.repo.jmix.io/repository/public'
    }
    if (file('trial_repository').exists()) {
        maven {
            url "file://${project.projectDir}/trial_repository"
        }
    } else {
        maven {
            url = 'https://global.repo.jmix.io/repository/premium'
            credentials {
                username = rootProject['premiumRepoUser']
                password = rootProject['premiumRepoPass']
            }
        }
    }
}

Keep in mind that the Bookstore sample must be based on exactly the same Jmix version as a commercial add-ons sample.

image

Hi,

It took a while to reply to that topic, so your Enterprise trials could have already expired. If you have an expired Enterprise trial and would like to run the Bookstore application in Studio, please drop us a message at info@jmix.io with the link to that topic. You will get another 28-day trial to explore the features of Bookstore and Jmix add-ons.