{"id":25060212,"url":"https://github.com/dynle/raspi-inventory-management-system","last_synced_at":"2026-02-26T19:31:09.113Z","repository":{"id":249920444,"uuid":"832950636","full_name":"dynle/raspi-inventory-management-system","owner":"dynle","description":"Inventory management system using Raspberry Pi camera module with YOLOv8 for product detection, face recognition for person identification, Django for server, and SQLite for DB","archived":false,"fork":false,"pushed_at":"2024-08-13T02:15:25.000Z","size":50412,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-06T16:05:53.464Z","etag":null,"topics":["inventory-management-system","raspberry-pi","sqlite","yolo"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dynle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-24T04:13:15.000Z","updated_at":"2024-08-13T02:15:28.000Z","dependencies_parsed_at":"2024-08-13T03:08:01.846Z","dependency_job_id":null,"html_url":"https://github.com/dynle/raspi-inventory-management-system","commit_stats":null,"previous_names":["dynle/raspi-inventory-management-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dynle%2Fraspi-inventory-management-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dynle%2Fraspi-inventory-management-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dynle%2Fraspi-inventory-management-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dynle%2Fraspi-inventory-management-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dynle","download_url":"https://codeload.github.com/dynle/raspi-inventory-management-system/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246458008,"owners_count":20780678,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["inventory-management-system","raspberry-pi","sqlite","yolo"],"created_at":"2025-02-06T15:57:23.165Z","updated_at":"2026-02-26T19:31:04.086Z","avatar_url":"https://github.com/dynle.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --\u003e\n\u003ca id=\"readme-top\"\u003e\u003c/a\u003e\n\u003c!--\n*** Thanks for checking out the Best-README-Template. If you have a suggestion\n*** that would make this better, please fork the repo and create a pull request\n*** or simply open an issue with the tag \"enhancement\".\n*** Don't forget to give the project a star!\n*** Thanks again! Now go create something AMAZING! :D\n--\u003e\n\n\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** I'm using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/dynle/raspi-inventory-management-system\"\u003e\n    \u003cimg src=\"images/logo.png\" alt=\"Logo\" width=\"160\" height=\"160\"\u003e\n  \u003c/a\u003e\n\u003ch3 align=\"center\"\u003eRaspberry Pi Inventory Management System\u003c/h3\u003e\n  \u003cp align=\"center\"\u003e\n    A system to automate accounting in the IIC purchasing department using Raspberry Pi and image recognition.\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/dynle/raspi-inventory-management-system\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\n[![Product Name Screen Shot][product-screenshot1]](https://github.com/dynle/raspi-inventory-management-system)\n[![Product Name Screen Shot][product-screenshot2]](https://github.com/dynle/raspi-inventory-management-system)\n\nThe Raspbeery Pi Inventory Management System project was initiated to improve the current purchasing system in our lab's IIC department. The traditional method required individuals to leave money for the items they took, which made it difficult to track who bought what and whether payments were accurately made. Our project aimed to solve this problem by developing a system that automatically records purchases using Raspberry Pi and image recognition technology.\n\n### Key Features:\n- **Automated Purchase Recording**: The system uses Raspberry Pi to take photos of the item and the person buying it.\n- **Image Recognition**: The captured images are processed using a Django server, which employs a face recognition model and a YOLOv8 object detection model to identify the buyer and the product.\n- **Slack Integration**: The system includes a Slack chatbot that summarizes the monthly purchases for each user and notifies them of the total amount due.\n- **Database Management**: All transaction data is stored in a SQLite3 database on the Raspberry Pi, making it easy to manage and retrieve records.\n\n### Project Challenges:\n- **Raspberry Pi Limitations**: The team faced difficulties due to the lower-than-expected performance of the Raspberry Pi, particularly in image processing tasks.\n- **System Stability**: Ensuring the operating system on the Raspberry Pi remained stable was a significant challenge.\n- **Learning Experience**: The project provided valuable experience in building IoT systems and highlighted the need for considering the computational limits of IoT devices in model design.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Built With\n\n* [Raspberry Pi](https://www.raspberrypi.org/)\n* [Django](https://www.djangoproject.com/)\n* [Slack API](https://api.slack.com/)\n* [SQLite3](https://www.sqlite.org/index.html)\n* [YOLOv8](https://github.com/ultralytics/yolov5)\n* [Face Recognition](https://github.com/ageitgey/face_recognition)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- GETTING STARTED --\u003e\n## Getting Started\n\nTo get a local copy up and running follow these steps.\n\n### Prerequisites\n\n* Python 3.7 or 3.8\n* Raspberry Pi 3 * 3\n* Raspberry Pi Camera Module\n* 7\" Raspberry Pi Touch Display\n* Laptop\n\n### Installation\n\n1. Get a free API key at [Slack](https://slack.com)\n2. Clone the Repo\n  ```sh\n  git clone https://github.com/dynle/raspi-inventory-management-system\n  ```\n3. Create `.env ` file and enter your API and slack channel ID\n  ```js\n  SLACK_BOT_TOEKN = 'ENTER YOUR API'\n  CHANNEL_ID = 'ENTER YOUR CHANNEL ID'\n  ```\n4. Install necessary packages with pip\n5. Train a product detection model with dataset/proudcts (`train.ipynb`)\n  ```sh\n  yolo task=detect mode=train model=./weights/yolov8s.pt data=./dataset-new-3cls/data.yaml epochs={100} imgsz=640 device=mps patience=100\n  ```\n6. Set IP address and run `raspberrypi_take_picture_and_send.py` file on a raspberry pi with a camera module\n  ```sh\n  python raspberrypi_take_picture_and_send.py\n  ```\n7. Set IP address and run `database_Data_in.py` and `database_Output_data.py` files on another raspberry pi\n  ```sh\n  python database_Data_in.py\n  python database_Output_data.py\n  ```\n8. Run django server with a laptop to run two detection models and open HMTL page\n9. Connect three raspberry pi devices and the laptop on the same network\n10. Open the HTML page using the django server ip address with the other raspberry pi with the touch display to see detection results\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- USAGE EXAMPLES --\u003e\n## Usage\n\nTo use the system, deploy the Django server, and ensure the Raspberry Pi cameras are connected and running. The Slack chatbot will automatically notify users at the end of the month about their purchase totals.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the MIT License. See `LICENSE.txt` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n[product-screenshot1]: images/project1.png\n[product-screenshot2]: images/project2.png\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdynle%2Fraspi-inventory-management-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdynle%2Fraspi-inventory-management-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdynle%2Fraspi-inventory-management-system/lists"}