For several years we have been using PartKeepr https://partkeepr.org/ to keep track of the thousands of components we have in our workshop.
Over the past few months, we found the daily backups from PartKeepr are taking a very long time due to the thousands of folders and files the software creates. Our install of Partkeepr has over 113,000 folders.
As I currently have plenty of spare time due to the lockdown from the global pandemic, I decided to write my own component inventory system and make it open source for anyone else to use.
As our web servers run Windows Server I decided to make this as a ASP.Net C# project and use SQL Server Express (or full) for the database.
This can also be run on a Windows desktop / laptop running Windows 10 Pro with the installation of the IIS services and SQL Server Express.
To install and setup PartFinder, download the files from Github https://github.com/briandorey/PartFinder and extract to a folder.
In SQL Manager, create a new database called PartFinder and run database.sql in partfinder/setup to create the database tables, views and add default data for footprints and part categories.
Create a new user for the database and give the following permissions: Connect, Select, Update, Delete, Execute.
Edit the web.config file in the PartFinder root and update the connection string MainConn in with the username and password for your database.
In Internet Information Services (IIS) Manager, create a new website and set the folder path to the location you extracted the files.
If you are running this application on a public facing connection or server, you need to create a login using an email address and password.
To add the first user, go to the /setup folder in your web browser and create your first user account to sign into Part Finder.
Delete the setup folder once setup is completed.
The system can be used on an intranet or local machine without the login requirement by commenting out the following section in the web.config file:
<forms name=".ASPXAUTH" loginUrl="/login.aspx" path="/" timeout="30" defaultUrl="/default.aspx" />
<deny users ="?" /> <allow users = "*" />
Images and File Manager Permissions
The admin section contains a file manager which allows you to create directories / folders and add files within the "/docs" folder in the website root.
This will need to add read/write permissions for the IIS/User account on your server/computer for this folder.
The Dashboard gives you an overview of the system with totals for Parts, Manufacturers, Attachments and Storage Locations. It also lists any parts which have less than your low stock level available.
The Parts section is where you manage all your components / parts with a tree-view or list view to find your parts and a parts details page with your item’s main details, attachments, suppliers and parameters.
You can also duplicate a part if you are adding similar new items.
In the Storage section you can add and edit your storage locations before adding new parts for each location.
You can add storage locations one at a time or use the Storage Location Grid page to bulk add locations such as storage drawers etc. These can be edited in the admin section (cog icon).
In the Manufacturers section you can add and edit component manufacturers before adding new parts. These can be edited in the admin section (cog icon).
In the Footprints section you can add and edit your component footprints before adding new parts. These can be edited in the admin section (cog icon).
The file manager allows you to view the /docs folder on your PartFinder website. You can add upload new files and create folders, view and delete files.
Please note if you delete a folder or file which is linked to an existing part, it will not remove the database record for the file.
The admin section has Add, Edit and List pages for Users, Categories, Footprint Categories, Footprints, Storage Locations, Manufacturers and the file manager.
Copyright 2020 Brian Dorey
This software has been released under the MIT license https://opensource.org/licenses/MIT
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.