Giter VIP home page Giter VIP logo

inventory's Introduction

== Inventory Management

Created June 10th 2014

June 10th
- add products controller
- create Product model
- add routes: products/manufacturers

June 11th
- create Manufacturer model
- add manufacturers controller
- edited migrations: create_products/create_manufacturers
- add views to products: index/show/new/edit
- add to products controller: index/new/show/create/edit/update/destroy
- add to manufacturers controller: new/edit

June 12th
- add views to manufacurers: index/show
- add to Manufacturer controllder: index/new/show/create/edit/update/destroy
- edit Manufacturer model for data validation
- fix problem: /manufacturers/new not found (form url wrongly directed to [POST] /manufacturers/:id/new, should be [POST] /manufacturers)
- fix problem: /manufacturer/:id/edit performs create (form_for @manufacturer do |f|, instead of form_for :manufacturer), same for products
- fix new product page manufacturer drop-down
- fix typos in controllers and models

June 16th
- assign dependent: :destroy to manufacturer instead of product
- create purchase controller
- create models: Purchase/Item
- create migrations: create_purchases/create_items
- add views to purchase: index/new/edit/show
- change manufacturer migration and reset database
- add to purchase controller: index/new/show/create/edit/update/destory
- modify Product model to reflect relation with Item

June 17th
- fix show.html.erb: remove 'for' in (@items.each do |f|)
- fix show in purchase controller: use purchase_id instead of purchase to query
- add data validation to Purchase and Item
- fix :reject_if for Purchase model nested_attributes (check correct column name)
- fix edition saving problem in products/manufacturers/purchases controllers (use update_attributes instead of update)
- allow item remove in purchase
- add one more available item field when editing purchase
- create managers/locations controller
- create Manager/Location model and add validations
- edit migration: create managers/locations
- add routes: managers/locations
- add to managers/locations controller: index/new/show/create/edit/update/destory
- add views to managers/locations: index/new/edit/show

June 18th
- design change: manager table now become employee, recreate m/v/c for employees and revisit m/v/c for locations
- create controller stocks/restocks
- create model Stock/Restock
- add routes stocks/restocks
- edit migration create stocks
- add to stocks/restocks controller: index/new/show/create/edit/update/destory
- add views to stocks/restock: index/new/edit/show
- add validations to Stock/Restock model
- add header and main navigation to all pages
- edit Product/Employee model to reflect relationships
- add to 'Add XXX' links to each index page

June 19th
- add validation to stock to prevent duplicate product-location combination
- simplify validations in Stock/Item/Product/Purchase/Restock
- add validation of employee/manufacturer/product/location name uniqueness, purchase invoice number uniqueness
- add validation for all drop-downs to prevent crashes
- when create/edit/remove restock, stock will be modified
- total amount is calculated automatically when create/update purchase

June 23rd
- validate product-location combination with stock table when creating restock
- design change: add vending machine page to associate vm with stocking location and purchases
- create controller, model/validations, view for vending machine, add routes
- add unit price to product model, and change views accordingly
- remove unit price from purchase(item), and change views accordingly
- change vending machine from text to reference in purchase
- redo purchase controller logic on price calculation
- change product model/views to use vending machine model as reference
- Remigrate database
- Test, check and fix bugs

June 24th
- when creating/updating/destroying restock, product and stock quantity left will be updated
- add warning when editing stock page
- when creating/updating/destroying stock, product quantity left will be updated
- when creating/updating/destroying purchase, product and stock quantity left (or quantity sold) will be updated
- remove quantity left field in product form (no need to customize, default starting value is 0)
- add validation to disallow placing purchase when there is no specific product in the stock location for the vm
- add validation to disallow placing purchase when the stock location of the vm is not enough to cover purchase
- add cancel/back links on new/edit/show pages
- generate model/controller of transfer, add routes
- edit migration and migrate db
- complete transfer controller actions
- add validations to transfer model, including check stock existence, quantity validity, location not same
- add missing relationships to models
- complete transfer views

June 25th
- order location/employee/manufacturer/product/vendingmachine by name,
- order restock/transfer/purchase by timestamp
- order stock by location and product name
- create homepage controller, write index page, add root route
- fix all model relation errors
- update page navs on all views
- remove product-archieved?
- add stock-active? column, when a stock is inactive, it won't trigger alarm
- reset database and test

June 26th
- continue to revise model relations
- when employee/location/product/vending machine is referenced, raise erorr message when trying to destroy
- when destroying a transfer, prevent original destination to have a nagative stock
- when destroying a restock, prevent stock quantity to fall negative

July 30th
- install wickedpdf gem and wkhtmltopdf application
- add route locations/:id/report and controller for pdf report
- add render template for pdf report
- test pdf report generation, link located in locations page

Known Issues
- when stock is (implicitly) used in restock/transfer/purchase, destroy is still allowed
- when stock is inactive and amount is still positive, purchase/transfer/restock can still happen (inactive only disallow alarms)
- delete any object that is referenced will crash the system (e.g. delete employee who is listed as location manager)
- when editing a transfer, destination could have negative amount

inventory's People

Contributors

lingyuan-he avatar

Watchers

Kevin Bende avatar  avatar

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.