Skip to content

bitsandbots/inventory

Repository files navigation

Inventory

Inventory Management System with invoices, picklists, and sales reporting.

Source: https://github.com/bitsandbots/inventory

PHP 8.x + MariaDB application targeting self-hosted deployment on Raspberry Pi or any Apache + MySQL host. Offline-first (no CDN dependencies). Three-role access control: Admin / Supervisor / User.


Quick start

bash install.sh

The installer detects PHP, MySQL, and Apache, creates the database from schema.sql, generates a .env with a strong APP_SECRET, creates a least-privilege MySQL app user, and wires up an Apache vhost on port 8080.

To wipe an existing deployment and reinstall fresh:

bash install.sh --reinstall

For manual install, troubleshooting, role-based workflows, and daily operations, see docs/setup-and-usage.md.

Developer hooks (optional)

To run php -l on staged PHP files before each commit (same check CI runs):

bash scripts/install-hooks.sh

This points core.hooksPath at the tracked .githooks/ directory. Bypass with git commit --no-verify if you need to commit despite a parse error.


Default accounts

Default passwords are seeded into schema.sql and must be changed on first login.

Role Username Password
Admin admin admin
Supervisor special special
User user user

Documentation

Document Audience
Setup & Usage Operators — install, daily workflows, troubleshooting
Architecture Developers — directory map, request lifecycle, RBAC model, schema
Tech Stack Developers — runtime versions, security features, deployment target
API & Components Developers — class methods, query helpers, CSRF helpers
Gap Analysis Maintainers — known issues, recent fixes, next steps

A standalone single-file offline reference: Blueprint_Overview.html


Credits

Originally created by Siamon Hasan (2018-2020) using PHP, MySQL, and Bootstrap.

Enhanced by Cory J. Potter / CoreConduit Consulting Services. v2.0 — 2026: security hardening (bcrypt, prepared statements, CSRF on all forms and state-changing GETs, session-fixation prevention, output escaping); installer redesign with --reinstall flag; Apache vhost automation; least-privilege DB user provisioning.


Support

ContactDonate

Releases

No releases published

Packages

 
 
 

Contributors