You are browsing as a guest. Sign up (or log in) to start making projects!

bom writer

  • 4 Devlogs
  • 4 Total hours

after doing 4 hardware projects i decided that making bills of materials is too much effort and can be automated "decently simply" - so i will be making a .csv bill of materials writer and a converter into .md for my future github repos :)

Ship #1 Pending review

i made an automated .csv bill of materials generator and .md table converter for github repos because i am mainly a hardware project builder and making bills of materials for my github repos took way too much time and hassle for what it’s worth.
my main problems with creating bills were that

  • there were too many things to keep track of manually at once
  • costs had to be manually calculated
  • parts weren’t categorised properly
  • a lot of the time there were additional things i had to express, but couldn’t do so.
  • i had to go through all that effort only to manually convert the .csv bill into .md compatible text to show in my readmes.
    so, to fix each of these issues i did the following:
  • automatically designated part numbers so the user doesn’t need to keep track of which part they last entered.
  • calculated the unit cost of parts using the total cost and quantity of parts needed.
  • used some standardized part number designators (PCB-XXX, 3DP-XXX etc.) but also allowed any custom 3 letter designator to be used for specific, niche parts.
  • created an algorithm that loops through each of the rows of the .csv bom that is created and generates a markdown table with the exact same information with nothing lost which can be easily copy and pasted into a github repo.
  • added a notes section, specifically for manufacturing notes or notes about pricing.
Try project → See source code →
Open comments for this post

1h 41m 35s logged

and the backend is completely finished!
i first replaced the amend option with just an exit program because i assume if amending needs to happen, the user can manually faster do it in a spreadsheet program.
then pretty much the rest of the time was spent doing the markdown conversion and it sucked going through iteration by iteration but i managed in the end to get it to an acceptable state wherein the table is easy to paste into any github repo and works without any issue!

0
0
18
Open comments for this post

23m 36s logged

just a quick devlog cause i added validations for each of the queries so things arent left blank or whatever.
just imagine loads of these sprinkled into the rest of the code.

0
0
11
Open comments for this post

1h 5m 4s logged

an hour of spaghetti code later and it works!!
i started by pre adding all the my columns from the bills of materials from other projects i’ve made.
then i made inputs for every single column type except item no. and unit cost because they can be automated with tracked variables.
finally, a bit of code to write them into the .csv file and voila, it shows up perfectly in excel!

0
0
7
Open comments for this post

44m 36s logged

alrighty so i’ve laid out a bit of a system in my head - would probably be better to actually flowchart it but im not bothered with all that lol.
currently i have just finished the main menu and have began the actual file creation system through pythons built-in open() function.
also imported datetime because i want the file to have the date of creation on it :)
for the actual file creation, the user types in the project name, then i ask the user to add the file path of where to put the boms, then put it all in a while loop so if paths r invalid it’ll just loop.
and finally the file actually gets created at the path with the name format ‘projectname-bom-dd-mm-yy.csv’.

nextly, i will pre-add all the columns that i use for the boms and allow the user to actually add items to the bom.

0
0
4

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…