Go to file
Oliver 74bec86675
Part page loading improvements (#3185)
* Lazy load the pricing bom table when the "pricing" tab is selected

* Update django-debug-toolbar configuration

* Major refactoring for the 'can_build' function

- Use a single annotated query to the db, rather than a for loop (which is what a caveman would use)
- Query performance is greatly improved
- Also refactors existing variant-part-stock subquery code, to make it re-usable

* Use minified JS and CSS where possible

* Render a 'preview' version of each part image

- Saves load time when the image is quite large
- Adds a data migration to render out the new variation

* Adds 'preview' version of company images

* Defer loading of javascript files

Note: some cannot be deferred - jquery in particular

* Crucial bugfix for user roles context

- Previously was *not* being calculated correctly
- A non-superuser role would most likely display pages incorrectly

* Prevent loading of "about" on every page

- Load dynamically when requested
- Takes ~400ms!
- Cuts out a lot of fat

* Match displayed image size to preview image size

* Utilize caching framework for accessing user "role" information

- Reduces number of DB queries required by rendering framework

* Remove redundant query elements

* Remove 'stock' field from PartBrief serializer

- A calculated field on a serializer is a *bad idea* when that calculation requires a DB hit

* Query improvements for StockItem serializer

- Remove calculated fields
- Fix annotations

* Bug fixes

* Remove JS load test

- Loading of JS files is now deferred, so the unit test does not work as it used to

* Fix broken template for "maintenance" page

* Remove thumbnail generation migrations

- Already performed manually as part of ''invoke migrate"
- Running as a migration causes unit test problems
- Not sensible to run this as a data-migration anyway

* tweak for build table
2022-06-17 21:26:28 +10:00
.github Add major release notes section for security fixes (#3191) 2022-06-14 08:10:10 +10:00
ci Simplify version_check script (#3152) 2022-06-07 08:57:51 +10:00
deploy fix endline 2022-05-20 13:35:07 +02:00
docker Fix container priority for docker compose recipe (#3180) 2022-06-11 19:58:36 +10:00
images/logo Export large version of the logo 2020-05-12 00:06:26 +10:00
InvenTree Part page loading improvements (#3185) 2022-06-17 21:26:28 +10:00
.env Docker improvements (#3042) 2022-05-29 09:40:37 +10:00
.eslintrc.yml lots of linting fixes for JS files 2021-09-03 22:54:17 +10:00
.gitattributes fix endline 2022-05-20 13:35:07 +02:00
.gitignore Docker improvements (#3042) 2022-05-29 09:40:37 +10:00
.gitpod.yml fix trailing 2022-05-20 13:20:55 +02:00
.pre-commit-config.yaml Export records update - allow overwriting existing files without user input (#3156) 2022-06-09 11:47:29 +10:00
CONTRIBUTING.md Adds release.yml file for auto-generating release notes (#3099) 2022-05-30 23:57:15 +10:00
crowdin.yml L10 merge (#1595) 2021-05-18 19:20:24 +10:00
docker-compose.yml Docker improvements (#3042) 2022-05-29 09:40:37 +10:00
Dockerfile Change docker user (#3096) 2022-05-30 08:37:58 +10:00
LICENSE Update LICENSE 2022-02-21 22:31:10 +11:00
package-lock.json add packagelock 2021-12-03 01:11:04 +01:00
package.json prefix version in package 2021-12-02 11:33:02 +01:00
README.md Update README.md (#3094) 2022-05-29 17:41:14 +10:00
RELEASE.md Include 'default' value in OPTIONS request for any fields with specified default values 2021-06-27 21:44:21 +10:00
requirements.txt Auth forms fix (#3214) 2022-06-17 11:33:45 +10:00
SECURITY.md Spelling fix: dates -> days (#3193) 2022-06-14 10:07:48 +10:00
setup.cfg Add more checks to pre-commit (#3132) 2022-06-06 08:56:52 +10:00
tasks.py Clean up tasks (#3175) 2022-06-11 10:07:57 +10:00

InvenTree logo

InvenTree

Open Source Inventory Management System

License: MITGitHub tag (latest SemVer) CI Docker Build

Coveralls Crowdin Lines of code GitHub commit activity Docker Pulls

GitHub Org's stars Twitter Follow Subreddit subscribers

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
DevOps

🧰 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.

👋 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.

Donate via PayPal

💎 Acknowledgements

We would like to acknowledge a few special projects:

Find a full list of used third-party libraries in our documentation.

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.