{"id":13991740,"url":"https://github.com/yaqwsx/jlcparts","last_synced_at":"2025-05-15T11:05:27.875Z","repository":{"id":39120027,"uuid":"296939938","full_name":"yaqwsx/jlcparts","owner":"yaqwsx","description":"Better parametric search for components available for JLC PCB assembly","archived":false,"fork":false,"pushed_at":"2025-04-14T05:11:14.000Z","size":1014704,"stargazers_count":619,"open_issues_count":53,"forks_count":53,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-04-15T02:16:36.784Z","etag":null,"topics":["jlc","jlcpcb","pcb","smt"],"latest_commit_sha":null,"homepage":"https://yaqwsx.github.io/jlcparts/","language":"JavaScript","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/yaqwsx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"yaqwsx","patreon":null,"open_collective":null,"ko_fi":"yaqwsx","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2020-09-19T19:43:21.000Z","updated_at":"2025-04-08T01:52:52.000Z","dependencies_parsed_at":"2024-01-16T05:05:11.328Z","dependency_job_id":"61a13beb-8751-4936-9f69-e1ba654b4bce","html_url":"https://github.com/yaqwsx/jlcparts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaqwsx%2Fjlcparts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaqwsx%2Fjlcparts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaqwsx%2Fjlcparts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yaqwsx%2Fjlcparts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yaqwsx","download_url":"https://codeload.github.com/yaqwsx/jlcparts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248991561,"owners_count":21194894,"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":["jlc","jlcpcb","pcb","smt"],"created_at":"2024-08-09T14:01:33.744Z","updated_at":"2025-04-15T02:16:50.006Z","avatar_url":"https://github.com/yaqwsx.png","language":"JavaScript","funding_links":["https://github.com/sponsors/yaqwsx","https://ko-fi.com/yaqwsx","https://ko-fi.com/E1E2181LU"],"categories":["JavaScript","Python"],"sub_categories":[],"readme":"![Logo](web/public/favicon.svg)\n\n# JLC PCB SMD Assembly Component Catalogue\n\nA better tool to browse the components offered by the [JLC PCB SMT Assembly\nService](https://jlcpcb.com/smt-assembly).\n\n## How To Use It?\n\nJust visit: [https://yaqwsx.github.io/jlcparts/](https://yaqwsx.github.io/jlcparts/)\n\n## Why?\n\nProbably all of us love JLC PCB SMT assembly service. It is easy to use, cheap\nand fast. However, you can use only components from [their\ncatalogue](https://jlcpcb.com/parts). This is not as bad, since the library is\nquite broad. However, the library UI sucks. You can only browse the categories,\ndo full-text search. You cannot do parametric search nor sort by property.\nThat's why I created a simple page which presents the catalogue in much nicer\nform. You can:\n- do full-text search\n- browse categories\n- parametric search\n- sort by any component attribute\n- sort by price based on quantity\n- easily access datasheet and LCSC product page.\n\n## Do You Enjoy It? Does It Make Your Life Easier?\n\n[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/E1E2181LU)\n\nSupport on Ko-Fi allows me to develop such tools as this one and perform\nhardware-related experiments.\n\n## How Does It Look Like?\n\nTitle page\n\n![Preview 1](https://user-images.githubusercontent.com/1590880/93708766-32ab0d80-fb39-11ea-8365-da2ca1b13d8b.jpg)\n\nProperty filter\n\n![Preview 2](https://user-images.githubusercontent.com/1590880/93708599-e01d2180-fb37-11ea-96b6-5d5eb4e0f285.jpg)\n\nComponent detail\n\n![Preview 3](https://user-images.githubusercontent.com/1590880/93708601-e0b5b800-fb37-11ea-84ed-6ba73f07911d.jpg)\n\n\n## How Does It Work?\n\nThe page has no backend so it can be easily hosted on GitHub Pages. Therefore,\nTravis CI download XLS spreadsheet from the JLC PCB page, a Python script\nprocess it and it generates per-category JSON file with components.\n\nThe frontend uses IndexedDB in the browser to store the component library and\nperform queries on it. Therefore, before the first use, you have to download the\ncomponent library and it can take a while. Then, all the queries are performed\nlocally.\n\n## Development\n\nTo get started with developing the frontend, you will need NodeJS \u0026 Python 3.\n\nSet up the Python portion of the program by running:\n\n```\n$ virtualenv venv\n$ source venv/bin/activate\n$ pip install -e .\n```\n\nThen to download the cached parts list and process it, run:\n\n```\n$ wget https://yaqwsx.github.io/jlcparts/data/cache.zip https://yaqwsx.github.io/jlcparts/data/cache.z0{1..8}\n$ 7z x cache.zip\n$ mkdir -p web/public/data/\n$ jlcparts buildtables --jobs 0 --ignoreoldstock 30 cache.sqlite3 web/public/data\n```\n\nTo launch the frontend web server, run:\n\n```\n$ cd web\n$ npm install\n$ npm start\n```\n\n## The Page Is Broken!\n\nFeel free to open an issue on GitHub.\n\n## You Might Also Be Interested\n\n- [KiKit](https://github.com/yaqwsx/KiKit): a tool for automatic panelization of\n  KiCAD PCBs. It can also perform fully automatic export of manufacturing data\n  for JLC PCB assembly - read [the\n  documentation](https://github.com/yaqwsx/KiKit/blob/master/doc/fabrication/jlcpcb.md)\n  or produce a solder-paste stencil for populating components missing at JLC PCB - read [the\n  documentation](https://github.com/yaqwsx/KiKit/blob/master/doc/stencil.md).\n- [PcbDraw](https://github.com/yaqwsx/PcbDraw): a tool for making nice schematic\n  drawings of your boards and population manuals.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaqwsx%2Fjlcparts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyaqwsx%2Fjlcparts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaqwsx%2Fjlcparts/lists"}