Full-stack web application that employs Node.js/Express, Sequelize, and Handlebars to manage consumable inventory in a biomedical lab setting. Users maintian a library of item "specs", from which individual item "instances" can be created and updated as they are used and replenished.
Key Features:
- Authenticated logins with multiple privilege levels.
- Generation and scanning of QR codes for inventory items, so that physical items can be paired with their inventory entries.
- Logging for all system changes, enabling easy tracking.
- Flexible, hierarchical location models for easy tracking of items within a workspace.
- Organization of vendor data.
This app requires Node.js, as well as a running instance of MySQL. To deploy, pull down the repo and provide login credentials for an authorized MySQL user in a .env
file. Then, start the server with npm run start
.
You must provide a value for WEB_TITLE
in your .env
file to properly set the navbar branding and page titles; choose a concise string appropriate for your organization. You must also add a logo.png
file and favicon.ico
file to the /public/images/
directory. Optionally, you may also change the primary UI color by providing hexadecimal strings (e.g. "#0099FF"
) for the BRANDING_PRIMARY
and BRANDING_PRIMARY_HIGHLIGHT
values in your .env
file.
A working, deployed version of the app can be viewed at https://portfolio.binderlab.io/bio-inventory. Follow the instructions on the login screen to access the guest account.
All code for this project was written by the developer.
Please refer to the LICENSE in the repo.