Coder Social home page Coder Social logo

partkeepr / partkeepr Goto Github PK

View Code? Open in Web Editor NEW
1.3K 104.0 394.0 51.97 MB

Open Source Inventory Management

Home Page: http://www.partkeepr.org

License: GNU General Public License v3.0

PHP 32.99% CSS 0.50% JavaScript 50.05% HTML 0.20% Ruby 0.18% Twig 1.81% SCSS 14.03% Dockerfile 0.12% Shell 0.12%
javascript php partkeepr inventory

partkeepr's Introduction

PartKeepr

JSON-LD enabled Build Status SensioLabsInsight Code Climate Test Coverage codecov

PartKeepr is an inventory management software, primarily designed for electronic components.

PartKeepr is written in PHP and using the Symfony2 framework.

Demo Sites

To test everything which has been written so far, there are two demo pages prepared.

The latest release from github is available at http://demo.partkeepr.org. The most up-to-date version of the GitHub master branch is published at https://demo-git.partkeepr.org. Both demo pages are built from the git sources and reset to a demo state once an hour.

Requirements

PartKeepr needs:

  • PHP between 7.0 and 7.1 - migration to newer symfony is needed before we support current php 7.x
  • A MySQL or PostgreSQL database

Installation

Please read our setup guide

Thanks

A very big "thank you" goes out to Georgyo of NYC resistor - although he claimed that he isn't creative, he invented the name "PartKeepr" which eventually became the project's name.

partkeepr's People

Contributors

abrock avatar chris-thorn avatar christianlupus avatar daniuskalv avatar dependabot[bot] avatar dondilip avatar drachenkaetzchen avatar dromer avatar dunglas avatar elevendroids avatar ericmoon avatar exiac avatar gotos avatar henrikh avatar ikcalb avatar jarrettr avatar johnbeard avatar jophut avatar matthijskooijman avatar mertercan avatar mwolff79 avatar nessi avatar scrupeus avatar sibbi77 avatar szechyjs avatar tamisoft avatar thomas-nilsson-irfu avatar tinutac avatar vmw avatar zarya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

partkeepr's Issues

Create build target to remove debugging calls

Right now, the code hasn't got many debugging calls.

Debug code should remain in the master source to allow efficient development, but the end user shouldn't be affected by these calls, because they slow down operation.

For JavaScript debugging output, we use the console.log feature supported by Firefox+Firebug and Chrome/Chromium.

For PHP, we need to invent something like:

PartDB2::debug("message");

The phing build target should remove all those calls automatically when building a release version.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Data Migration from PartDB1

We need to migrate existing data from PartDB1. I don't know yet if we should migrate the data during the installation process, or if it should be done afterwards, but this needs to be done for V1.

Upload Window

We wish to display how many "MB" an user may upload as configured in PHP. Maybe we can also include a list of formats ImageMagick can eat.

Part Search

An advanced part search needs to be implemented. In V1, we will only have a name search, but we also want parametric search and search for specific fields.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

create release target

The release target should:

  • collect all files together
  • create a minified version of all JS files

User Settings

We need to store some parameters per user - we need to build the API to store user settings and then decide which settings we wish to store.

Data Import

A user must be able to import existing data. Often people have their existing inventory in an excel spreadsheet.

PartKeepr must be able to import part data from CSV/Excel files. The easiest way to solve this is to specify an import format, so that users can re-format their existing data for importing.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Browser Compatibility Test

Before release, we need to test the software in those browsers:

  • Mozilla Firefox 3
  • Mozilla Firefox 4
  • Google Chrome
  • Safari
  • Internet Explorer 6 (doesn't need to work, but if it does -great!)
  • Internet Explorer 7
  • Internet Explorer 8
  • Internet Explorer 9
  • Opera

We should also include the browsers and their status (i.e. software is working etc) into a document so users know which browsers are OK and which aren't.

Part Images and Files

We need to attach images and files to parts. This includes data sheets, images and so on.

Help System

Since we're using ExtJS as GUI, it should be medium-easy to implement a context-sensitive help. Help items could be managed in some wiki, and loaded into a frame on the client.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

V1 Permissions

For V1, we only have two permissions: User and Admin (and no access, of course).

Users and Admins are equal except that an admin may edit users, where users may not.

More Stats

V3 bewegungen / zeit
V3 belegter plattenplatz für pdf / bilder
V3 server status?

Generate part name from parameters

Each Part can have parameters (like: Capacity 10uF, max. voltage 30V). Now the PartDB should generate the name automatically from these parameters without the need to retype them as part name - in our example, the system should now generate "Electrolythic Capacitor 10uF 30V". If the parameters are updated for any reason, the name is also updated.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Show stock history

We need to be able to view a history who put in/put out how many parts.

General Stats

Straight from our requirements sheet:

lagerdauer
umschlagsdauer
lagernutzungsgrad

Those are all for V3, we need to discuss this.

Knowledge Base

I think this will end up in a wiki, but we had it on the plan for V3 so I'll create an issue for that.

Part parameters

We want parts to be parametrized. Each part can have as many parameters as the user wish to enter.

The parameter types are defined separately. It needs to be possible to create a parameter type "Resistance", which is of type "numeric", has the unit "Ohms". Si-Prefix conversion is applied automatically. To avoid that someone gets a list of all Si-Prefixes (Pico-Ohm is quite a bit wrong), it needs to be defined which Si-Prefixes apply to which units (or parameters?). Terafarad is unlikely, as well as Picoohm.

To make "near-value" matching easier, we need to store the value as "normalized" value - i.e. if the unit is Farad, we store 10pF as 10*(10^-12) in the database, if possible.

Data Export

This is a dummy bug to remember us to think about data export - what to export, in which formats etc.

If you have ideas or requests, put them here.

Internal Cart

Often, people need to put together a list of parts they need for a project. So they search each part, but then need to write it down.

Requirement is that people can add that one part to their internal shopping cart. Once they have everything they need, they can "checkout" (which means that the parts are booked into the system as removed) and print a list of all parts including their storage location.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Order List export

It would be nice if we can export the list of to-be-ordered parts to a supplier like Reichelt so people don't need to copy'n'paste all parts by hand.

Footprint or Part Type (SMD/PCB/Other)

Sometimes we have parts which sound like "cool, I can use that for my project" but then realize it's SMD-stuff. We need to attach some kind if information how the part can be used.

For example, there's SMD (which obviously can't be used without a PCB), there are breadboard compatible parts (2.54mm), and also parts which don't fit into 2.54mm (like ethernet jacks for PCB) and parts which can't be put onto PCBs at all (e.g. non-PCB transformers).

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Logo

We don't have a nice logo yet.

Part value

We need to add a part value (just like in the original PartDB2).

We also need to show this value in the stats.

Footprint Image / Attachments

Each footprint needs to be able to get footprint images attached. Also more attachments, like footprint dxfs, are wanted.

Copy+Edit Part

Sometimes we have so many parts of one kind that we need two storage locations for it, or we simply have slightly the same part (e.g. CD4049UBE instead of CD4049UBF).

So we want a button which duplicates a part and opens the editing window.

I'd suggest we only add all data for a part into a new part window, so the user can cancel the edit without leaving trash in the database if the button was clicked by mistake.

Cloud

We want cloud, because we can ;) Discussion of what and how should be in this issue.

Find similar parts

Often, you need a part which you don't have - but you might have similar parts which you don't know about.

For example, you might need a 100kOhm resistor, but you don't have them anymore. The system should now search for all parts in a +-10% range so if you have 110kOhm resistors, they will be displayed.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

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.