Inventory App
learn more about this project
Overview
subtle and functional CRUD-based inventory system. designed for keeping track of products, whether it's for a small shop or just testing out backend logic. users can add, edit, and view products. each with its name, price, stock info, description and category. the interface is clean and straight to the point. built this to strengthen my Express backend game and solidify my understanding of RESTful routing. deployed on Render, fully persistent with MongoDB.
Insights
the app is powered by Node.js and Express on the backend, with Mongoose for MongoDB data modeling within an MVC architecture. input validation via Express Validator, security headers with Helmet, and rate limiting to prevent abuse. sessions -which stored in MongoDB- manage admin authentication for delete operations. all delete actions are admin-only, enforced by middleware.
you can view the source here.
Build Notes
- ran into some schema validation issues early on. turns out forgetting to mark required fields in Mongoose leads to very silent bugs.
- learned the importance of clear route naming for maintainabilty, or things can get complicated fast.
- hosting on Render was smooth, but had to whitelist static IPs to connect the app securely to MongoDB Atlas.
TL;DR
- Node.js + Express backend with MongoDB for data storage.
- CRUD operations, admin-only access, secured with Helmet and input validation.
- MVC architecture, sessions for authentication, deployed on Render.

