Day 02 - 22/09/2026 (Remote)
Objectives
- Dive deeper into the technical requirements and business requirements.
- Turn the project brief into a technical design.
- Determine actors, user flows, and system constraints before implementation.
What I Did
- Reviewed the project objective again.
- Determined the technical stack and architecture requirements.
- Analyzed the warehouse workflow.
- Identified the actors and their responsibilities.
- Analyzed functional requirements.
- Analyzed non-functional requirements.
- Mapped business rules to technical requirements.
Technical Requirements
- Backend: NestJS + TypeScript
- Database: PostgreSQL 16
- ORM: Prisma
- Frontend: React + TypeScript + Next.js
- Infrastructure: Docker Compose
- CI/CD: GitHub Actions
The system needs to support:
- Transactional operations.
- Complex stock movement.
- Inventory history/audit trail.
- Multi-role access.
- Backend APIs.
- UI for warehouse staff and managers.
Main Actors
- Warehouse Admin — manages master data, warehouses, SKUs, bins, users/roles.
- Warehouse Operator — receiving, put-away, picking, packing, stock lookup.
- Inventory Manager / Approver — approves adjustments and handles discrepancies.
- Supplier — supplies goods.
- Customer / Order Holder — creates demand/orders.
- Delivery Partner — ships goods.
- Inventory Ledger Service — controls stock movement and auditing.
Functional Requirements
Inventory & Master Data
- Manage warehouses, bins, SKUs, and products.
- Ensure accurate unit conversion and product data.
Inbound
- Receive goods.
- Store quantity, lot/expiry.
- Update stock through the ledger.
Put-away
- Allocate goods to storage locations.
- Track inventory by location/lot.
Allocation
- Based on available stock.
- Apply FEFO.
- Reserved stock must not be counted as freely available.
Picking & Packing
- Pick according to allocated stock.
- Prevent negative stock from occurring.
- Packing must be linked to the order.
Delivery & Return
- Manage shipment status.
- Handle shortages and returns.
- Update stock/ledger consistently.
Adjustment
- Inventory adjustment must have approval.
- Unauthorized stock editing is not allowed.
Non-functional Requirements
- Data Integrity: inventory must be accurate.
- Transactional Safety: stock operations must be atomic.
- Auditability: every inventory change must have a record.
- Concurrency Control: avoid race conditions and negative stock.
- Security & Authorization: role-based access control.
- Maintainability: code must be easy to maintain and for the team to collaborate on.
Day 02 Result
Moved from “understanding the project” to “understanding how the system needs to be built”: identified actors, functional requirements, non-functional requirements, and how the business rules directly influence the technical design.