https://github.com/patsaoglou/partshelf
PartShelf is a handy web app made for electronics hobbyists to organize and manage electronic inventory and electronic project BOMs
https://github.com/patsaoglou/partshelf
altium bom electonics fastapi integrated-circuits mysql orders pandas pcb pcb-design
Last synced: 3 months ago
JSON representation
PartShelf is a handy web app made for electronics hobbyists to organize and manage electronic inventory and electronic project BOMs
- Host: GitHub
- URL: https://github.com/patsaoglou/partshelf
- Owner: patsaoglou
- License: mit
- Created: 2025-04-29T14:05:25.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-05-01T19:02:32.000Z (5 months ago)
- Last Synced: 2025-06-09T00:07:37.935Z (4 months ago)
- Topics: altium, bom, electonics, fastapi, integrated-circuits, mysql, orders, pandas, pcb, pcb-design
- Language: HTML
- Homepage:
- Size: 2.14 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PartShelf
**Electronics Inventory Management System**A modern inventory management web app for electronic components. Easily track parts, quantities, and supplier info. Import from CSVs, auto-extract details like value/type, and integrate smart part registration.
## **Still Under Development - Pics**
## Features
### Inventory ManagementB
- Add parts with manufacturer, type, package, and description
- Automatically create related entries if they don’t exist (manufacturer, type, package)
- View list of all parts with quantity
- Update quantity of existing parts
- Delete parts### CSV Services
- Upload and parse CSV BOM/order files
- Automatically extract component **value** and **type** from the description column
- Custom template support for defining which columns to parse
- Import PCB project BOM and based on inventory entries, generate BOM with only the parts needed to make an order without doing it by hand### Intelligent Parsing
- App uses Regex-Pandas Library to extract data from imported files and do classification and organization of data for managability## Technologies Used
### Backend
- **FastAPI** – High-performance web API framework
- **SQLAlchemy** – ORM for managing database models
- **Pydantic** – Data validation and schema definition
- **PostgreSQL / SQLite** – Relational database
- **Python** – Core application logic### Frontend
- **Jinja2** – Templating for HTML rendering
- **Bootstrap** – Responsive layout and styling### Tools & Utilities
- **CSV Parser** – Custom logic for extracting rows
- **Regex Parsing** – Extracts value/type from descriptions
- **dotenv** – Environment variable handling
- **Git** – Version control