This is a personal project, by Bert Sarens and myself, meant for the Intersystems Multi-model contest.
The goal of this application was to build a product filter that was capable of filtering large amounts of products on a large amount of filters. This project uses objects, some sql access to these objects and plain global access for the indexing.
We've used a IRIS backend that is called via a REST-API from a react frontend application.
As a test we've tried this on 1.000.001 products with about 100 filter posibilities. forcing a product to be the last entry and specifying a filter that would only match the last entry took 0.6 seconds to yield the result.
The code for this application can be installed through ZMP. This will install all the classes needed and will run a seed command to seed a demo database containing 100000 records.
Attention: The react front-end app is not included in the ZPM package.
This project has some dependencies:
To setup this code follow these steps:
next check out the 1.1.0 release
git clone https://github.com/ivove/BeI-MultiModel.git
git checkout R_1.1.0
cd BeI-Multimodel #only do this if you haven't already entered the directory mkdir files
docker-compose up -d
npm run seed
cd my-app npm install
These steps should get you ready to start testing.
The following is a short description on how to test the application.
First step is to start the application. We can do this from a terminal prompt by starting in the my-app directory and executing the following:
npm run start
this should start a webserver listening on port 3000 and automaticly opening a browser showing the page
The following image briefly shows the interface. With the posibility to
in the root directory
npm install npm run watch
Added counters for the filter options