Ralph Inventory Extension

Dear ralph team,

first of all I would like to introduce myself. My name is Josip Domazet and I am currently finishing my education at the Austrian “HTL Rennweg” - a secondary school with specific focus on IT. During our last year we need to complete a diploma project. I happen to be the project leader of Project Capentory (https://www.capentory.com/).

The aim of our project is to eliminate the current inventory/stocktaking process at our school due to the fact that the old approach is a pain in the neck for every person that is involved. In order to achieve our goal we build our own Android-App and used ralph as backend solution. We modified ralph so that it enables us to perform stocktakings on a per-room basis. Now, we plan to release both the App and our modified Backend solution under the Apache 2.0 license when the project is finished (in April).

To cut a long story short, would you be interested to include our modified version of ralph within the original project? As a quick side note: We implemented our approach with the help of viewsets that are designed to be easily overridable to fit ones particular needs with as little customization overhead as possible. This means that you could easily use our app for stocktakings.

I look forward to hearing from you soon. If there are any questions will free to ask!

Yours faithfully,
Josip Domazet

1 Like


I’m extremely happy you found Ralph project helpful for your diploma.

I think stock taking is the area we are strongly interested in. We are open for mobile app contribution as well since we don’t have Android app at the moment.

Do you have this fork available somewhere on GitHub or still working on it ? We could guide you in advance how to integrate API.

Hey there,

We are done with the bulk of the technical work for our diploma – but there is still work that needs to be done. The App uses the Django-REST-API with JSON to communicate with the server. We didn’t release it yet, however, we do have a private GitLab-Repo. If you want, I can give you access to it.

Some more Infos about the App: The minimum Android Version is 5.0. Furthermore, our App supports Zebra phones. Zebra is a vendor for Android-Barcode-Scanners which makes the scanning process ridiculously fast. In our organization every item is required to have a barcode on it. Nevertheless, we can also handle cases in which this not the case.

To clarify: The App works ON ANY android device past 5.0. In case you have a “normal” smartphone you can always revert to the camera scan. I used the Google Mobile Vision API for the camera barcode scanner and if the barcode is not using a sophisticated format the scan is also quite fast (~ 1s). (Also, a normal barcode format is more than enough for most companies, our school only happens to be required to use a different format). The camera scan supports any barcode format for the record.

The final deadline for our Diploma Project is early April. Are there some more questions? Thank you for your support!


Any screenshots showing it in action?

This forum does not seem to support PDF-Files so I needed split the PDF I created for you into several pictures. If it’s fine by you I would prefer to switch to E-Mail communication.
Also, what’s your gitlab account? I want to give you Guest-Access for now (Keep in mind that we are still developing and therefore, we are still in the process of adding more documentation to the code).

Good night!

Well, the app looks really good :+1:

Also, “Admin approval” idea looks interesting to me.
Couple of questions:

  1. Is this fully-native android App or is does it use React Native/Flutter/Phonegap/etc ?
  2. What happens when the Asset is in another room? Can you choose new location from withing the app?
  3. Does “Change-Proposals” share some code with Ralph? I see that the UI looks quite similar to the Ralph’s one.

Thanks for sharing!


  1. The App is written in full Native Java with API-Level 21 also known as „Lollipop“. This means the App should be supported by roughly 90% of the European Android market.

  2. As a matter of fact the biggest difficulty for our diploma thesis are special cases like this.
    As for your question, the user just scans everything he sees in the room.
    Let’s say he scans item A in room X but item A is actually from room Y. Well in this case the app will notify the user that the room is not matching. The user can then press the green “Is here”-button to confirm his validation (the button is on the same screen as the comment field and the other changable attributes but you need to scroll down to see him).
    Once the user sends his validations the server will automatically create a change proposal for the room. The Admin can then apply it and only then is the actual value changed. (Btw. the admin can also bulk-apply all change proposals made during a stocktaking to save time)

There are actually a lot more special cases we support for example subrooms, subitems (one logical item with one barcode represents multiple physical items) or items without a barcode to name a few.

  1. Change-Proposals are just another Django model and therefore as much ralph as anything else. We build everything upon existing ralph code.

Thanks for sharing !:wink:

Great project Josip.

@Josip I’ve enabled uploading attachments, so you can put your PDF / english here.

Is there are REST API to add attachments to a datacenter asset ? I did not see any that would help me add or query attachments

I’m afraid we don’t have such at this time.