Plans for future development? Project concept? #4920
Replies: 4 comments 5 replies
-
Hi there @roman-dvorak ! The opinion below is only my personal view on things. Looks interesting but other than concepts we can not take/integrate anything from your project as it is licensed under GPL and InvenTree is MIT. It looks like the 2 projects came to similar conclusions with different architectures - which is interesting and validating. |
Beta Was this translation helpful? Give feedback.
-
Hey @roman-dvorak thanks for reaching out, looks like an interesting project with similar goals :) I'll respond to your questions inline below:
It is true that InvenTree is designed as a "global" warehouse system - although we do support a multiple tree structure for warehouse / stock locations, so there's nothing preventing us from improving on this. We could (for example) allocate each user to a particular top-level warehouse location, and prevent them from operating in different locations.
See above! Note that for build orders, you can select a "take stock from" location, which is somewhat of a solution for this issue.
Seems like a reasonable approach, and we could look to extend our barcoding system with something like this. Currently, two barcodes from multiple InvenTree instances could certainly conflict, although that seems like a minimal issue given how many other outstanding issues we have.
Integration with other tools (specifically such as KiCad) is a big goal for us. interactive html bom would be a great one to integrate too. There is some work towards this:
But the reverse operation (KiCad data into InvenTree) is very desirable too and a personal goal for me. We have a mature plugin system, which allows such integrations. Check out inventree-wireviz (work in progress) for integration with the wireviz harness design tool. All of your ideas here have merit and I'd love to see InvenTree implement similar things in some way. At the moment our biggest bottleneck (by far) is developer time. The project has become very popular, so a lot of issues, questions, ideas (etc) to support. If you would like to contribute ideas / code to the project, I'd love to support that. Certainly it looks like you have a great deal of experience and ideas :) |
Beta Was this translation helpful? Give feedback.
-
@roman-dvorak looking forward to your contributions and ideas to make Inventree better for everyone :) |
Beta Was this translation helpful? Give feedback.
-
One quick observation: Compared to our OpenIntranet, it is much slower. Rendering of single page, from the first request to the state when the page is usable, takes much more time. Also, asynchronous loading (Which we also have, but used in different ways) causes the page to redraw during operation time. For example, the loading of the left menu is done after the rendering of main content. It is used/compared on the same hardware. I dont have configured caching using Redis - I hope that will improve the situation. After configuration, I will let you know how the situation were changed. HW:
Question: |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
for several years we have been developing a similar solution for inventory tracking - OpenIntranet. Unfortunately, we have been mostly developing it on our own and haven't been able to build a community around it (possibly due to the lack of quality documentation, texts in Czech language, difficult first setup etc.). I have been testing InvenTree for some time now, and I like its concept. When we started developing our OpenIntranet, we wanted to use a low-level web framework, so we chose Python-Tornado and a NoSQL MongoDB database. This decision has brought both advantages and disadvantages (which could be a lengthy discussion). The OpenIntrant system is designed to be maximally user-friendly, simple with fast responsiveness.
Currently, our system handles several areas of functionality:
In our further plans, we intended to implement order management and automate purchasing from component suppliers.
After testing InvenTree, I'm considering whether we should transfer a certain part of the functionality/agenda to InvenTree. There are aspects missing in all parts of our system, and if possible, I would like to discuss whether there is interest in such collaboration or not. I/we are able to develop/improve some parts of InvenTree.
Warehouse management
We have a similar organization of our warehouse, structured in a tree-like manner. What I find missing in InvenTree is that we often work in multiple locations as a team of collaborating individuals. Therefore, our inventory is physically distributed across multiple locations.
That's why for each item, we always specify the quantity in stock at a current location, as well as in other locations. And whenever any interaction occurs, it is based on the inventory of the specific location where the user is currently located.
In our system, we obtaining most of the information about components (description, specifications, images) from supplier APIs (Mouser, TME, Farnell). Regarding this capability, I have contacted the author of this plugin: SergeoLacruz/inventree-supplier-sync#3
Identificators
I generally have an problem with the identifiers of individual items (such as inventory, manufacturing, suppliers, items, etc.) being simple numbers. Because in case of any error, they can be easily confused/swapped (for example), especially when multiple InvenTree installations are involved. The code from one installation may work with the code from another instance, but it can have completely different meanings.
Our solution was to use ObjectID for such identifiers, which is a globally unique code. Therefore, within the system (even across instances), the same code cannot exist with a different meaning.
Thanks to this, we can easily have a unique barcode (DataMatrix) on each object in the warehouse (bin location, item). This code on sticker refers to a specific "package," how we call it. In InvenTree, the equivalent term is "Part stock."
Manufacturing
The manufacturing agenda is currently very important for us. It looks like that we generate an XML netlist from KiCad (fully automted with github actions), which is then uploaded to the intranet. The intranet retrieves the Bill of Materials (BOM) from the XML and links it to the items in the warehouse based on the ObjectID component identifier. (This is where the importance of having globally unique identifiers becomes evident.)
Various overviews or PDF assembly instructions are then created from this data, including a list of components with their locations in the warehouse and their available quantities.
That's my currently the most important information. There would definitely be more questions, and I apologize for the lengthy text. I look forward to your responses and potential cooperation.
Beta Was this translation helpful? Give feedback.
All reactions