SebastianAndreu commited on
Commit
34741b9
Β·
verified Β·
1 Parent(s): 9e77c8b

Delete README.md

Browse files
Files changed (1) hide show
  1. README.md +0 -214
README.md DELETED
@@ -1,214 +0,0 @@
1
- # πŸ”§ Makerspace Inventory Management System
2
-
3
- An intelligent, AI-powered inventory management system designed for makerspaces, workshops, and educational facilities. This system combines computer vision, natural language processing, and optimization algorithms to streamline inventory tracking and improve workspace efficiency.
4
-
5
- ![Python](https://img.shields.io/badge/Python-3.10-blue)
6
- ![Gradio](https://img.shields.io/badge/Gradio-5.9-orange)
7
- ![License](https://img.shields.io/badge/License-MIT-green)
8
-
9
- ## 🌟 Features
10
-
11
- ### πŸ›’ **Smart Check-Out System**
12
- - **AI-Powered Image Recognition**: Upload photos or use your webcam to automatically identify tools and equipment
13
- - **Gemini Vision AI**: Utilizes Google's Gemini 2.5 Flash model for accurate item detection
14
- - **Vector Search**: ChromaDB-powered semantic search for fuzzy matching between detected items and inventory
15
- - **Real-time Inventory Updates**: Automatic quantity tracking and session logging
16
- - **Multi-Item Support**: Scan multiple items in a single image
17
-
18
- ### πŸ“¦ **Intelligent Item Addition**
19
- - **OCR Receipt Processing**: Upload PDF or image receipts to automatically extract items
20
- - **Fuzzy Matching**: Smart name matching to find items even with typos or variations
21
- - **Interactive Editing**: Review and modify detected items before adding to inventory
22
- - **Manual Entry**: Quick single-item updates with auto-completion
23
- - **Update History**: Complete audit trail of all inventory changes
24
-
25
- ### πŸ“Š **Data-Driven Layout Optimization**
26
- - **Pattern Mining**: Discovers which items are frequently checked out together
27
- - **Association Rules**: Calculates support, confidence, and lift metrics for item pairs
28
- - **Distance Optimization**: Uses greedy relocation algorithm to minimize walking distance
29
- - **Visual Analytics**: Side-by-side comparison of current vs. optimized layouts
30
- - **Actionable Recommendations**: Specific move suggestions with quantified benefits
31
-
32
- ## πŸš€ How to Use
33
-
34
- ### Check Out Items
35
- 1. Click **"πŸ›’ Check Out Items"** on the main menu
36
- 2. Upload an image of items or use your webcam
37
- - Or manually type item names (comma-separated)
38
- 3. Review detected items and adjust quantities
39
- 4. Confirm checkout (optionally enter user ID)
40
-
41
- ### Add Items to Inventory
42
- 1. Click **"πŸ“¦ Add Items"** on the main menu
43
- 2. **Receipt Upload Tab**:
44
- - Upload a PDF or image receipt
45
- - Review extracted items
46
- - Check/uncheck items to include
47
- - Edit quantities if needed
48
- - Click "Apply Updates"
49
- 3. **Manual Entry Tab**:
50
- - Type item name
51
- - Enter quantity
52
- - Click "Add to Inventory"
53
-
54
- ### Analyze Layout Efficiency
55
- 1. Click **"πŸ“Š Inventory Analysis"** on the main menu
56
- 2. Adjust analysis parameters:
57
- - **Minimum Support**: Pattern frequency threshold (0.02 = 2%)
58
- - **Top K Pairs**: Number of frequent pairs to optimize (25)
59
- - **Maximum Moves**: Limit on relocations (10)
60
- - **Minimum Gain**: Distance improvement threshold (0.05 units)
61
- 3. Click "πŸ” Run Analysis"
62
- 4. Review:
63
- - Frequent item pairs
64
- - Relocation recommendations
65
- - Distance savings
66
- - Visual layout comparison
67
-
68
- ## πŸ“ˆ Key Metrics Explained
69
-
70
- ### **Support**
71
- Frequency of items appearing together in checkout sessions
72
- - Example: 0.10 = items appear together in 10% of checkouts
73
-
74
- ### **Lift**
75
- How much more likely items are checked out together vs. randomly
76
- - Lift > 1: Positive correlation (should be near each other)
77
- - Lift = 2: Items are 2Γ— more likely to be checked out together
78
-
79
- ### **Confidence A→B**
80
- Probability of checking out item B when checking out item A
81
- - Example: 0.80 = 80% chance of checking B with A
82
-
83
- ### **Distance Saved**
84
- Reduction in walking distance by relocating items
85
- - Measured in grid units (1 unit β‰ˆ 1 meter)
86
-
87
- ## πŸ› οΈ Technology Stack
88
-
89
- - **Frontend**: Gradio 5.9 (Interactive web interface)
90
- - **AI/ML**:
91
- - Google Gemini 2.5 Flash (Vision AI for image recognition)
92
- - Sentence Transformers (Semantic embeddings)
93
- - ChromaDB (Vector database for similarity search)
94
- - **OCR**: Tesseract + Pytesseract
95
- - **Data Processing**: Pandas, NumPy
96
- - **Optimization**: Custom greedy algorithm for layout optimization
97
- - **Visualization**: Matplotlib
98
- - **Fuzzy Matching**: RapidFuzz
99
-
100
- ## πŸ“‚ File Structure
101
-
102
- ```
103
- .
104
- β”œβ”€β”€ app.py # Main application file
105
- β”œβ”€β”€ requirements.txt # Python dependencies
106
- β”œβ”€β”€ README.md # This file
107
- β”œβ”€β”€ items.csv # Inventory database
108
- β”œβ”€β”€ locations.csv # Physical location grid
109
- β”œβ”€β”€ checkouts.csv # Checkout history
110
- β”œβ”€β”€ update_log.csv # Inventory update log
111
- β”œβ”€β”€ screwdriver.png # Example checkout image
112
- └── mcmaster_receipt.pdf # Example receipt
113
- ```
114
-
115
- ## πŸ”§ Local Setup
116
-
117
- ### Prerequisites
118
- - Python 3.10 or higher
119
- - Tesseract OCR installed on your system
120
-
121
- ### Installation
122
-
123
- 1. Clone the repository:
124
- ```bash
125
- git clone <repository-url>
126
- cd makerspace-inventory
127
- ```
128
-
129
- 2. Install system dependencies (Ubuntu/Debian):
130
- ```bash
131
- sudo apt-get update
132
- sudo apt-get install -y tesseract-ocr poppler-utils
133
- ```
134
-
135
- 3. Install Python dependencies:
136
- ```bash
137
- pip install -r requirements.txt
138
- ```
139
-
140
- 4. Run the application:
141
- ```bash
142
- python app.py
143
- ```
144
-
145
- 5. Open your browser to `http://localhost:7860`
146
-
147
- ### Environment Variables
148
- The Gemini API key is currently hardcoded. For production use, set it as an environment variable:
149
- ```bash
150
- export GEMINI_API_KEY="your-api-key-here"
151
- ```
152
-
153
- ## πŸ“Š Data Format
154
-
155
- ### items.csv
156
- ```csv
157
- item_id,item_name,category,quantity,unit,description,location_id
158
- I0001,Hex Key Set,Hand Tools,12,sets,Standard SAE hex key sets,L001
159
- ```
160
-
161
- ### locations.csv
162
- ```csv
163
- location_id,x,y,capacity
164
- L001,0,0,1
165
- ```
166
-
167
- ### checkouts.csv
168
- ```csv
169
- timestamp,user_id,session_id,item_id
170
- 2025-12-05T10:30:00Z,U0001,S00001,I0001
171
- ```
172
-
173
- ## 🎯 Use Cases
174
-
175
- - **Makerspaces & Fab Labs**: Track tools and equipment usage
176
- - **Educational Workshops**: Monitor student equipment checkouts
177
- - **Tool Libraries**: Manage community tool sharing
178
- - **Research Labs**: Optimize equipment layout based on usage patterns
179
- - **Manufacturing Facilities**: Improve tool room efficiency
180
-
181
- ## 🀝 Contributing
182
-
183
- Contributions are welcome! Please feel free to submit issues or pull requests.
184
-
185
- ### Development Roadmap
186
- - [ ] Barcode/QR code scanning
187
- - [ ] User authentication system
188
- - [ ] Advanced analytics dashboard
189
- - [ ] Mobile app integration
190
- - [ ] Multi-location support
191
- - [ ] Automated reorder suggestions
192
- - [ ] Integration with purchasing systems
193
-
194
- ## πŸ“ License
195
-
196
- This project is licensed under the MIT License - see the LICENSE file for details.
197
-
198
- ## πŸ‘₯ Authors
199
-
200
- Developed as part of a makerspace automation project.
201
-
202
- ## πŸ™ Acknowledgments
203
-
204
- - Google Gemini AI for vision capabilities
205
- - Anthropic Claude for development assistance
206
- - Open-source community for amazing tools and libraries
207
-
208
- ## πŸ“ž Support
209
-
210
- For questions, issues, or feature requests, please open an issue on GitHub or contact the development team.
211
-
212
- ---
213
-
214
- **Built with ❀️ for makers, by makers**