Busy

Inventory Management

Web dashboard for managing assets and consumable stock with borrowing, approvals, and reporting.

Role

Frontend Engineer

Timeline

2025

Platform

Web

Focus

Asset + Stock Ops

Back to Case Studies

Overview

Built a React.js system to manage two asset types: serialized assets (borrow/return) and consumable stock (usage tracking).

Problem

Manual tracking for borrow/return and stock usage caused delays, missing records, and weak accountability.

Solution

Implemented asset lifecycle workflows, approval flows, and notification-driven requests with role-based access.

Role

Frontend Engineer (React.js)

Timeline

2025

Stack

ViteReact.jsTypeScriptREST APIState Management

Requirements

Functional & non-functional

Functional

  • Asset vs stock categorization
  • Borrowing + return flow for serialized assets
  • Stock usage tracking for consumables
  • Approval workflow for borrow requests
  • Notifications for request + approval
  • Master data management
  • Authentication and role-based access

Non-functional

  • Fast list rendering for large datasets
  • Secure access for multi-role users

System Design

Architecture + data flow

Architecture

React dashboard with normalized data layer, role-based access, and modular workflow screens.

Key Decisions

  • Access-based UI rendering by role
  • Separated asset and stock workflows

Data Flow

  • Auth → role scope → module access
  • Request → approval → status update
Architecture diagram placeholder

Flow & Data

State flow and data model

Flow Steps

  • Auth → role scope → module access
  • Request → approval → status update

Data Model

Entities

  • Asset
  • AssetStock
  • BorrowRequest
  • Approval
  • Location
  • Category
  • UserRole

Relationships

  • Asset belongs to Location
  • AssetStock belongs to Category
  • BorrowRequest references Asset
  • Approval belongs to BorrowRequest
  • UserRole defines access scope

Business Logic

Rules that drive decisions

  • Borrow requests require approval before checkout
  • Stock usage reduces available quantity
  • Role determines visible modules and actions

Scope & Constraints

Project boundaries

Scope

  • Asset lifecycle management
  • Borrowing + return workflow
  • Consumable stock tracking
  • Approval system + notifications
  • Master data management

Constraints

  • Legacy data formats
  • Multiple stakeholder roles

Your Contribution

What I handled directly

  • End-to-end React frontend
  • Borrow/return workflow implementation
  • Approval + notification UI
  • Auth and master data screens

Challenges → Solutions

Key problem solving

Challenge

Borrow/return status accuracy

Solution

Defined explicit status transitions per request.

Challenge

Approval bottlenecks

Solution

Added notifications and quick approval actions.

Challenge

Consumable stock visibility

Solution

Separated stock vs asset modules and clear filters.

Edge Cases

Stability in production

  • Duplicate request submissions
  • Borrowed assets not returned on time
  • Stock quantity updates out of sync

Impact

Results and outcomes

Faster requests
Approvals
Borrow/return flow
Tracking
Stock clarity
Visibility

Gallery

Key screens

Inventory Management Inventory overview
Inventory overview

Key Takeaways

What mattered most

  • Web
  • Operations
  • Dashboard