Personal Component Database Program - Page 1
Forum section: electronics / general

author: Xkonti
author_rank: Contributor
timestamp: June 04, 2014, 09:04:11 pm
content: Hello Everyone!For some time I have problem with loads of components, boards, modules, metal elements etc... Like many others I like to salvage parts from large variety of things. With time I have more and more different parts that can be useful next week or next year. Of course I have many boxes, bags, drawers etc to keep them, but many times its hard to categorize things or remember where you put themAfter little searching I found that there is no such program that could help me build simple database of those things that allows me to manage locations, categories, templates etc... So I thought about writing that kind of program myselfFor now I have just a sketch of program but I thought I'll share my idea with you, so you can say if it is good or bad idea.In this moment I have some semi-working windows:Main window containing table of all elements (may be filtered), menu and place for buttons. This windows will be totally redesigned and of course it will be in EnglishAdding element/component will be possible by choosing templates (that you can edit yourself). For example new simple resistor component could look like this:You can still add new parameters for every single element so you can manage original parts or attach multiple photos, datasheets, values etc:Every element will be assigned to one location. Locations will be created in hierarchies.Program will be supporting advanced searching and filtering options, easy moving elements between locations, easy moving of entire colations (for example moving big box form one room to another) etc.What do you think about this idea?

author: echen1024
author_rank: Super Contributor
timestamp: June 05, 2014, 03:25:20 am
content: I like itOne suggestion would be to add barcode support, so we can tag individual components and check in + check out components when used in our projects. That would make this a hell of a lot more useful.

author: Stonent
author_rank: Super Contributor
timestamp: June 05, 2014, 03:46:18 am
content: Actually reminds me of an Access database.

author: IanB
author_rank: Super Contributor
timestamp: June 05, 2014, 04:00:02 am
content: Quote from: Xkonti on June 04, 2014, 09:04:11 pmAny standard database program should allow you to build such a thing. As mentioned, Microsoft Access would be one possibility.In any case, even if you write your own application, you should use a proper database to store the information. SQL Server Express and Visual Studio Express are free would let you do that.

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: June 05, 2014, 04:40:46 am
content: Another guy on the forum did a web based version, took me hours to set up on Windows, eventually I got the homepage rendering ok but the other pages were blank.I emailed him and he said there was no windows supported version. Oh well.So I took the route of SQL Server Express and Visual Studio Express. But I am no where near finished.If anyone has interesting ideas for the Data Model that would be useful.eg. the barcode idea.@Xkonti what do the templates represent?

author: kripton2035
author_rank: Super Contributor
timestamp: June 05, 2014, 05:58:23 am
content: please use multi platform database engine like postgres or mysqlAccess is only available to windows users, dont forget mac and linux.

author: Xkonti
author_rank: Contributor
timestamp: June 05, 2014, 06:24:24 am
content: Barcode idea - I think it's good idea but I never had Barcode reader (other than app in phone). I'm pretty sure that it is doableFirst thing that comes to my mind is Barcode reader from Webcam or Barcode reader module for rese...Access - I know access and there are loads of other programs like access. I know they can be used in this kind of purpose but they all are too complex for this. My app will be lightweight, fast and intuitive to use so you can use it if you just woke up in the middle of night or have no idea how databases work. One app - one way to use it.Saving in database - for now I'm not planning to save data to proper database. I just want it to workTemplates - I think about them as templates of elements. You can for example create template of resistor and transistor. In templates you can set default parameters of those elements. Then when you are adding new elements you can choose your resistor template. New element will be crated as clone of template with all parameters with proper types, names, descriptions, units etc. Then you just change valuesI don't want to hardcode templates because every person have its own way to categorize things. One person will take photoresistor as subtype of resistor and another will describe it as sensor so some parameters will differ.Platform compatibility - I'm working on Windows but I'm writing this app in Java so you can use it on Windows, Linux, Mac OS and even on Raspberry Pi (I have plan to use it on my own and add voice control to it so I can search for parts with voice questions but it is distant future...)

author: nctnico
author_rank: Super Contributor
timestamp: June 05, 2014, 01:09:15 pm
content: Quote from: Stonent on June 05, 2014, 03:46:18 amSame hereI've been using Access for keeping track of components for about 15 years now.

author: ElektroQuark
author_rank: Unknown
timestamp: June 05, 2014, 01:24:55 pm
content: Well, as always, I recommend a much worked software, ELELA.It has all, and much more, you will ever need for component classification.It's free. In English, german and can be easily translated.Runs on Windows, Linux, web based too...http://www.mmvisual.de/

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: June 05, 2014, 11:50:12 pm
content: Just noting, I couldn't get ELELA to run on Windows 8.1.Also had to restart after uninstalling.

author: Xkonti
author_rank: Contributor
timestamp: June 05, 2014, 11:54:15 pm
content: Well, I think I'll start working on it tomorrow and then I will make a video so you can tell me if it's going in good direction

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: June 05, 2014, 11:54:40 pm
content: @NtNicocould you post a Database diagram of your access database, if it's not too much trouble?Maybe an image? whatever is convenient.

author: ElektroQuark
author_rank: Unknown
timestamp: June 06, 2014, 06:04:20 am
content: Quote from: HackedFridgeMagnet on June 05, 2014, 11:50:12 pmI use the 32bit version in a USB stick. No problems at all on XP and Windows 7 32 or 64 bit.I will try running it on 8.1.

author: magetoo
author_rank: Frequent Contributor
timestamp: June 06, 2014, 10:35:00 am
content: This is a neat idea.I like that you have thought about making it portable too. (Sadly, Java seems to be portable only between a few supported platforms - Windows, Mac, Linux - but it's better than making it only for one platform at least.)I would like to recommend that you look intosqliteat some point, when you need to store things on disk. It's a database that is designed to be embedded into applications, and should be perfect for this sort of thing. It's portable, there's no separate server process to run, and it can handle all the tedious bits of handling data so you won't have to. Open source and public domain too.

author: lgbeno
author_rank: Frequent Contributor
timestamp: June 06, 2014, 11:41:27 am
content: This is a perfect application for a Ruby on Rails web application. You can deploy to heroku and never need to worry about os compatibility. Also if you use bootstrap for the HTML/CSS you can really make a nice looking application.

author: Xkonti
author_rank: Contributor
timestamp: June 06, 2014, 04:29:03 pm
content: @megnetoo Thanks. Looks interesting.I will make this open source project so anyone can look into my awful code and maybe make use of ithttps://github.com/Xkonti/EleBase

author: nctnico
author_rank: Super Contributor
timestamp: June 06, 2014, 08:41:48 pm
content: Quote from: HackedFridgeMagnet on June 05, 2014, 11:54:40 pmSee a screendump below. Every part has a number which is organised so it is easy to group components based on the part number (and sort the table). Further the stock, minimum order quantity, manufacturer & part number, order codes from several major distributors, prices per 1 and per 100. I'm using Orcad Capture CIS which is linked into this table. Orcad needs the type of component to show a tree, the library & symbol name, value and PCB footprint. Besides using the right footprint for a part Orcad also uses this table to produce an bill of materials in Excel including stock levels. Adding a simple formula allows me to see what I have in stock and what I need to order quickly.The Access database has a GUI to enter and search for components I never use it; I just edit the table contents directly.

author: magetoo
author_rank: Frequent Contributor
timestamp: June 06, 2014, 10:37:41 pm
content: Quote from: Xkonti on June 06, 2014, 04:29:03 pm(No need to at-reply, this isn't Twitter.)Nice, opensourcing it is probably the way to go.I was curious what license you went with, and noticed you seem to have pasted in some additional stuff at the end of the license file that probably shouldn't be there. And have you considered other licenses like BSD/ISC/MIT? Some people are allergic to the GPL.

author: Xkonti
author_rank: Contributor
timestamp: June 06, 2014, 10:40:09 pm
content: I have no idea about licenses. All I want is to make it always free and not loose my name in it. License file was generated by GitHub.

author: HackedFridgeMagnet
author_rank: Super Contributor
timestamp: June 07, 2014, 01:02:12 am
content: Thanks NtNico, I wanted to see if there were any fields that I hadn't thought of that might be useful, obiviously if you've been using it for 15 years it must be pretty right.QuoteSounds like me.

author: Stonent
author_rank: Super Contributor
timestamp: June 07, 2014, 06:18:17 pm
content: I guess regarding licenses you first need to decided whether or not if you care if your code is used and hidden in someone else's product / project.

author: msr
author_rank: Regular Contributor
timestamp: June 07, 2014, 06:32:19 pm
content: Probably im a bit late but are you aware of Component Organizer?http://3xbla.wordpress.com/component-organizer/https://github.com/cidadao/Component-OrganizerIt is cross platform and open source (built with Qt/C++)It doesn't use a "real database" but an XML file to store all the information.

author: nctnico
author_rank: Super Contributor
timestamp: June 07, 2014, 07:54:06 pm
content: A simple and very portable database system is Sqlite. There is even a very good plugin for Firefox which allows creating and maintaining Sqlite databases.

author: zapta
author_rank: Super Contributor
timestamp: June 07, 2014, 07:58:49 pm
content: What's the advantage of having a dedicated program over a simple spreadsheet?Google Drive spreadsheets for example provide out of the box cross platform, versioning, collaboration, cloud storage, and export to popular formats.I am using it for BOMs.

author: kripton2035
author_rank: Super Contributor
timestamp: June 07, 2014, 09:57:16 pm
content: Quote from: zapta on June 07, 2014, 07:58:49 pmfor example, how do you store a pdf datasheet in a spreadsheet ?how do you keep an history of the stock, what went in or out and when ?in a spreadsheet you can keep the actual value of the stock, but if you want to know how many of a component you use in a month ?

author: nicknml
author_rank: Contributor
timestamp: June 08, 2014, 01:45:25 am
content: I got bored today and saw this thread and decided to make a database for my components. I made a database with MySQL on one of my Linux boxes. I also might look at embedding the datasheets in the database. Right now it's a simple one table database but I might break it out into several tables. If anything, it at least helped me to brush up on SQL.

author: nctnico
author_rank: Super Contributor
timestamp: June 08, 2014, 08:32:25 am
content: Why would you want to hoard datasheets? It is faster to just punch the partnumber into the searchbox of a webbrowser than to try and look it up in a database or directory. Besides that the more complex chips have a datasheet, user manual and errata sheets. Some even have datasheets which are broken up into multiple documents. A database isn't very suitable for that. In some om my software I use blob fields filled with XML to create a flexible datatype in a database.

author: Xkonti
author_rank: Contributor
timestamp: June 08, 2014, 05:46:41 pm
content: Looks like I'm starting this program from scratch. This way I can start with very simple app and (I hope) cleaner code. I will be posting some updates and questions about features here.