Giter Site home page Giter Site logo

daxxn / partsholeapi Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 245 KB

API for PartsHole client - Inventory management for electronics components

License: GNU Affero General Public License v3.0

C# 99.38% Dockerfile 0.62%
api-rest csharp electronics inventory-management

partsholeapi's Introduction

PartsHoleAPI

An API for managing all communication between the Client and the database.

Overview

The need for managing all the parts and tiny components needed for complex PCBs can get out of hand extremely quickly. It gets even worse when different parts have different packages and footprints. Other components like resistors and capacitors have hundreds of different values and sizes. Its alot.

Features and Responibilities

  • Serve the Client Data
  • Databse Management
  • Invoice Parsing
  • BOM File Parsing
  • Location (Bin) Management
  • Custom Part Number Creation

Future Plans

  • Invoice reading directly through DigiKey
  • Order parts from DigiKey
  • Parse KiCAD Project/Library files to access to more data (Change part numbers, Update supplier part numbers)

Installation

Prerequisites

The database is set up to use MongoDB Atlas. Its the easiest to set up and deploy for me. That means a MongoDB database is required.

Auth0 is used for authentication. Auth0 Client and API projects are required.

Other Dependencies

partsholeapi's People

Contributors

daxxn avatar

Stargazers

Henri J. Norden avatar jessie J taylor avatar Brayden Regis - CTCL avatar

Watchers

 avatar

partsholeapi's Issues

Integrate With Mouser API

Add the ability for the API to directly communicate with Mousers' API.

Requirements

  • Add API calls
  • Integrate with InvoiceModel
  • Add calls to update customer part numbers (PartModel.Reference) in Mousers' system automatically (If possible.)

Add Project and BOM Collections

The Problem

As of right now, the project model isn't included in the database and will only parse one BOM. Projects need to be able to contain multiple BOMs. As there's now multiple projects I'm working on that have upward of 3 PCBs, the ability to control what BOM and revision is current on a project will be extremely useful.

Requirements

  • Change project to allow for multiple BOMs to be associated with a project
  • Separate BOMs and projects
  • Add Project collection to API
  • Add BOM collection to API
  • Client controls to allow for project creation
  • Client controls to tie BOMs to a project
  • Client communication with API

Integrate With DigiKey API

Add the ability for the API to directly communicate with DigiKeys' API.

Requirements

  • Add API calls
  • Integrate with InvoiceModel
  • Add calls to update customer part numbers (PartModel.Reference) in DigiKeys' system automatically (If possible.)

Add Mouser Invoice Parser

Add the ability for the API to parse mouser invoice files. The invoices from mouser can be downloaded as Excel files. The one annoying part is that their OLD (.xls) formats. Add the ability for the API to parse these files and add them to the users invoices.

Requirements

  • Parse Excel (.xls) files
  • Integrate with InvoiceModel
  • Add parsed invoice to user

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.