A sari-sari store inventory tracker, built with native PHP and JavaScript
Inventry is a lightweight inventory app for a sari-sari store. It keeps your products, prices, and stock counts in one place, so you know what to restock before customers ask. Built without frameworks to practice core web fundamentals: authentication and authorization, sessions, request validation, and hand-written SQL.
I built Inventry to learn by doing: no frameworks, no ORM, no shortcuts. I wanted to properly understand the parts I had only used through abstractions, like session management, route protection, request validation, and writing SQL by hand, by building them myself and seeing where they break.
Features
Record names, prices, and quantities. Add, edit, or remove items in a few clicks.
See how many of each item is left at a glance, so restocking isn't guesswork.
Products are tied to your account and sit behind login-only routes.
Key Takeaways
Built registration and login with bcrypt-hashed passwords, session ID regeneration, and middleware that guards protected routes.
Connected the frontend to the backend with fetch and JSON, handling validation errors and redirects without page reloads.
Designed endpoints for creating, listing, and deleting products on top of a custom router.
Wrote every query by hand with PDO prepared statements, with no ORM in between.


