187707c892
* define a simple model mixin class for barcode * Adds generic function for assigning a barcode to a model instance * StockItem model now implements the BarcodeMixin class * Implement simple unit tests for new code * Fix unit tests * Data migration for uid field * Remove references to old 'uid' field * Migration for removing old uid field from StockItem model * Bump API version * Change lookup_barcode to be a classmethod * Change barcode_model_type to be a class method * Cleanup for generic barcode scan and assign API: - Raise ValidationError as appropriate - Improved unit testing - Groundwork for future generic implementation * Further unit tests for barcode scanning * Adjust error messages for compatibility * Unit test fix * Fix hash_barcode function - Add unit tests to ensure it produces the same results as before the refactor * Add BarcodeMixin to Part model * Remove old format_barcode function from Part model * Further fixes for unit tests * Add support for assigning arbitrary barcode to Part instance - Simplify barcode API - Add more unit tests * More unit test fixes * Update unit test * Adds generic endpoint for unassigning barcode data * Update web dialog for unlinking a barcode * Template cleanup * Add Barcode mixin to StockLocation class * Add some simple unit tests for new model mixin * Support assigning / unassigning barcodes for StockLocation * remove failing outdated test * Update template to integrate new barcode support for StockLocation * Add BarcodeMixin to SupplierPart model * Adds QR code view for SupplierPart * Major simplification of barcode API endpoints - Separate existing barcode plugin into two separate classes - Simplify and consolidate the response from barcode scanning - Update unit testing * Yet more unit test fixes * Yet yet more unit test fixes |
||
---|---|---|
.devcontainer | ||
.github | ||
.vscode | ||
ci | ||
deploy | ||
docker | ||
images/logo | ||
InvenTree | ||
.eslintrc.yml | ||
.gitattributes | ||
.gitignore | ||
.gitpod.yml | ||
.pre-commit-config.yaml | ||
CONTRIBUTING.md | ||
crowdin.yml | ||
docker-compose.yml | ||
docker.dev.env | ||
Dockerfile | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
RELEASE.md | ||
requirements-dev.in | ||
requirements-dev.txt | ||
requirements.in | ||
requirements.txt | ||
SECURITY.md | ||
setup.cfg | ||
tasks.py |
InvenTree
Open Source Inventory Management System
View Demo · Documentation · Report Bug · Request Feature
🌟 About the Project
InvenTree is an open-source Inventory Management System which provides powerful low-level stock control and part tracking. The core of the InvenTree system is a Python/Django database backend which provides an admin interface (web-based) and a REST API for interaction with external interfaces and applications.
InvenTree is designed to be lightweight and easy to use for SME or hobbyist applications, where many existing stock management solutions are bloated and cumbersome to use. Updating stock is a single-action process and does not require a complex system of work orders or stock transactions.
Powerful business logic works in the background to ensure that stock tracking history is maintained, and users have ready access to stock level information.
🎯 Features
- Organize Parts and BOMs
- Manage Suppliers
- Instant Stock Knowledge
- Extend and Customize to fit your usage
🧭 Roadmap
- Plugins
- Improved Importers
- Custom Workflow Processes
🛠️ Integration
InvenTree is designed to be extensible, and provides multiple options for integration with external applications or addition of custom plugins:
👾 Tech Stack
Server
Database
Client
🧰 Getting Started
Refer to the getting started guide for installation and setup instructions.
📱 Mobile App
InvenTree is supported by a companion mobile app which allows users access to stock control information and functionality.
🚋 Deploy
There are several options to deploy InvenTree.
Docker · · Bare Metal
👋 Contributing
Contributions are welcomed and encouraged. Please help to make this project even better! Refer to the contribution page in the docs and check out contributing.md.
📜 Translation
Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged.
To contribute to the translation effort, navigate to the InvenTree crowdin project, create a free account, and start making translations suggestions for your language of choice!
💸 Sponsor
If you use InvenTree and find it to be useful, please consider making a donation toward its continued development.
💎 Acknowledgements
We would like to acknowledge a few special projects:
- PartKeepr as a valuable predecessor and inspiration
- Readme Template for the template of this page
Find a full list of used third-party libraries in our documentation.
⚠️ License
Distributed under the MIT License. See LICENSE.txt for more information.