Code Monkey home page Code Monkey logo

storekeeper's Introduction

Logo

Build Status Documentation Status Dependency Status Code Quality Server Test Coverage Client Test Coverage License

StoreKeeper is an open source, multilingual warehouse/store management software

Discontinued project!

Features

The following features are available:

  • User login, logout
  • Manage items and its barcodes, units, vendors
  • Add/remove items in store
  • Able to use barcode reader for collecting items
  • Can use barcode printer to create labels

The following features are only available via API now:

  • Manage users, handle permissions
  • Can make acquisition and stocktaking
  • Can crate works and its customers (handle outbound, returned items)

Prepare & Run

All commands can run with package.sh scripts what you want. All of these scripts has --help argument for available getting some info about the current module.

  1. Clone repo, or download & extract a release .tar.gz file
  2. Install all dependencies: ./package.sh -p install
  3. Check the config/config.yml for database and other settings
  4. Prepare database: ./package.sh upgrade_database
  5. Start server: ./package.sh start

Now, you can open the WebUI: http://localhost:8000/storekeeper

Upgrade

The upgrade process is under construction, but there are the main steps:

  1. Update source code with git / extract release .tar.gz from GitHub.
  2. Update libs and others with ./package.sh -p install.
  3. Follow up config changes based on config/config.default.yml.
  4. Upgrade database scheme with ./package.sh upgrade_database.

Note

Proper, seamless upgrade process will be supported between the stable versions!

Demo site

You can test the latest development version on our demo server:
http://storekeeper-demo.dras.hu/storekeeper

Default username and password: admin / admin

Documentation

You can read more details in documentation. It's available in online and offline format too:

Languages

StoreKeeper is building in multilingual approach, therefore it can easily translate to a new language.

Top translations:
See more information on Transifex.com

storekeeper's People

Contributors

andras-tim avatar

Stargazers

Alexey Orekhov avatar Mohsen Shayan avatar  avatar  avatar Alexander Minh-Duc Nguyen avatar Adi SK avatar Sulfikar Ali Nazar avatar peters avatar Fanch avatar

Watchers

Adam Tauber avatar  avatar James Cloos avatar Sulfikar Ali Nazar avatar

storekeeper's Issues

Global search view

User can search in all types (Items, Vendors, ...) in a new view. - The original idea was a 2nd sidebar on left, this is not soo good. - On the Search view will be a "Facebook search" like search with a full page results pane.

Have to be documented

  • conception, flows
  • barcode reading
  • barcode writing
  • config structure (.yml, images)

Small language improvements

  • ENG
    • Items view >> Stockpile
  • HUN
    • Elemek nézet >> Raktárkészlet
    • tétel (oldalsávon) >> elem
    • elem (raktár elem) >> tétel

History for all changes

  • Have to logging user's changes - issue #128
  • Have to query changes by
    • view (e.g. for the all Items)
    • view element (e.g. for an Item)
    • user
  • Have to display changes - issue #65

Units management view

A management / admin view for handle previously added units.

Notes:

  • The auto-complete field will be the main unit-adding way

Stocktaking view for initial / yearly counting

  • User can freezes the Items (or create a snapshot) with open a new stocktaking.
  • Can print a stocktaking report with the current items (some info + quantity + hand writing place)
  • Can add the diff(!) to the stocktaking (+/- quantities)
  • Then can close stocktaking for committing changes.

Able to use fractions in quantity

The longitude units sometimes require fractions

e.g.: standard unit is meter for an item, but sometimes it have to cut two apart...

Warning for minimal amount of item

User can set a warn level for amount of items for prevent stock from out of them.

  • UI alert (red lines / "progress bar" bellow the amount)
  • Email alert (with links)
    • When it was reached the minimal value
    • Daily summary about all items what are under the minimal level

Use .md files on root and auto-converts for docs to .rst

Issues

  • Uses .rst files on root now for easy copy-paste paragraph to docs
  • The GitHub release notes can not parse rst format, therefore I have to write this in markdown

Therefore it would be better if the GitHub-related files are written in markdown and the docs is generated from these.

Slow API response when results are ~4000 records

Nested field contained API queries are extremly slow, because the sub-queries was made by python instead of SQL Server merges the results.

Todo

  1. Have to get all data with one SQL query
  2. Transform data for current nested format (if it is neccessary) or made flat results

Expand / replace several badges

Python, JavaScript, CSS code quality checking

[![Codacy Badge](https://www.codacy.com/project/badge/6c9fb93d1b1d4333a8146e8aeb55b11f)](https://www.codacy.com/app/andras-tim/StoreKeeper)

Codacy Badge

Python dependency checking

[![Requirements Status](https://requires.io/github/andras-tim/StoreKeeper/requirements.svg?branch=master)](https://requires.io/github/andras-tim/StoreKeeper/requirements/?branch=master)

Requirements Status

NodeJS dependency checking

https://david-dm.org/andras-tim/StoreKeeper.svg

Issue tracking

http://issuestats.com/github/andras-tim/StoreKeeper

Replace non ASCII characters in read barcodes

You can not configure layout of emulated keyboard, when barcode reader works in keyboard mode.
Therefore have to replace the "right neighbourhood of 9 button" to 0.

  • Hungary: ö, Ö >> 0

Sidebar for quick search & add for for current view

Make a left-side sidebar (maybe floating) for can

  • quick search items
  • collecting them a quick list
  • set count of them with up-down arrows
  • add with one click to current view

The barcode reader will use this too

Handle properly the printer less cups

Does not require set any printer to default, and the getDefault() of cups call returns with None in printer.py:43

Note: Why set printer name twice? (in __init__() and in print_pdf())

Logo for vendors

User can set logo for vendors (for human find faster verndors)

Better global search field

  • Replace the current Global and Vendor search field with a multi field search input box, where every words can match to different fields.
  • This search field have to contains a reset button for reset search expression with one click
  • This search field placed on right of title's row

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.