---
# System prepended metadata

title: Amami Warehouse Application

---

# Amami Warehouse Application

## Problem Statement
Currently, we do not have any digitalisation on managing our warehouses tools. It is nearly impossible to check where are the items right now or even the remaining amounts. This lead to many side issues such as additional redundant cost where we buy new tools which we found out that we have the items, or suddenly the items that we thought should be there are gone. Therefore, we would need to have an application as the first step to digitalise the process of our warehousing system

## List of application features
- Audit the items that we currently have in our warehouses
- Manage warehouses (Add/Edit/Delete)
- Transfer the items from one warehouse to another warehouse
- Track item movement between warehouses
- Asks for approval in case of item movements, item addition, update, and deletion
- Role base access on the application

## Data Component Details

### Users
- identifier
- full_name
- role e.g staff, manager
- posisi
- email
- password

### Warehouse
- identifier
- name
- location
- category [Main warehouse & Project Warehouse (Temporary)]
- warehouse_managers
- status [Active | Inactive | Archived]
- kapasitas

### Warehouse item
- identifier
- item_id
- warehouse_id
- quantity

### Items
- identifier
- name
- image (optional)
- item_details:
    - description
    - category: toolkit, material, material interior, material sipil interior, material mekanikal elektrikal.
    - tipe: habis pakai / berulang
    - tipe material: e.g batu/kayu/besi/jati/semi meranti/etc
    - panjang
    - lebar
    - tinggi
    - umur

### Movement/Transfer
- identifier
- warehouse_from (warehouse || external)
- warehouse_to (warehouse || external)
- status: [in transit, delivered atau sold]
- quantity
- PIC
- timestamp

### Design
https://www.figma.com/file/PWwuLiuuUMk7bVhYBy0Vg0/Amami-Warehouse?node-id=0%3A1


### 


### Whats next?
- Prepare sketch (UI)

- Start working on the frontend

- Start working on the backend


### 



### Technical Use case


#### Database
*item
paku

*warehouse
main_warehouse
project_warehouse

*warehouse_item
paku 20 main_warehouse
paku 30 project_warehouse

*movement_item
paku 50 supplier main_warehouse
paku 20 main_warehouse project_warehouse
paku 20 project_warehouse main_warehouse
paku 30 main_warehouse project_warehouse



#### Data use case

`list main_warehouse paku sebelum movement`

-> select quantity where warehouse_id and item_id

`movement main_warehouse to project_warehouse`

->
- insert into movement_item
- update warehouse_item where warehouse and item to existing quantity - movement quantity
- insert into if warehouse_item not available

`list main_warehouse paku setelah movement`

-> select quantity where warehouse_id and item_id