Public Assistance Request, 72-Code Classification & Controlled Resource Allocation Platform
Case Management · RBAC · Budget Governance · Cash & In-Kind Assistance · Windows → Laravel Migration
Project positioning
This project began as a Windows desktop application with a UI built using Bunifu, and was later redesigned as a Laravel-based web application.
The software was commissioned for the cultural organization of Astan Quds Razavi to structure, classify, distribute, and track public assistance requests.
The core challenge was not merely to create an online request form.
The real work was to convert an executive-level operational concept into a structured system that could answer questions such as:
- What type of request has been submitted?
- Which organizational category should it belong to?
- Which employee is authorized to handle it?
- What type of assistance can be provided?
- How much cash or how many physical resources are available?
- What is the employee’s monthly authority or allocation?
- How much has already been consumed?
- How much remains?
In direct discussions with the head of the cultural organization, the operational ideas were converted into a structured 72-code accounting / operational classification model.
The result was a system combining:
- public request intake,
- structured classification,
- case management,
- role-based access control,
- delegated spending/resource authority,
- cash and non-cash resource management,
- monthly allocation limits,
- and centralized administrative oversight.
Classification
- Project Type: Public Assistance / Case Management Platform
- Organization Context: Astan Quds Razavi — Cultural Organization
- Initial Version: Windows Desktop
- Initial UI Framework: Bunifu
- Later Version: Laravel Web Application
- Primary Domain: Public Assistance Request Management
- Secondary Domains: Resource Allocation, Accounting Classification, RBAC, Budget Governance
- Classification Model: 72-Code Accounting / Operational Structure
- Assistance Types: Cash and Non-Cash Resources
- Examples of Non-Cash Resources: Books, Food Packages, Other Allocated Goods
- Access Model: User / Role / Permission / Allocation Limits
- Portfolio Relevance: Very High
- Suggested CV Relevance: Tier A — Enterprise Workflow, Business Logic, Domain Modeling, Laravel
Executive Summary
The organization received a wide range of public requests through paper forms and other intake channels.
The problem was that these requests were inherently unstructured.
A person could ask for:
- financial support,
- books,
- food packages,
- another available resource,
- or another form of assistance.
The organization needed more than a database table containing free-text requests.
It needed a system that could convert incoming requests into a controlled operational workflow.
The conceptual lifecycle became:
Public Request
↓
Structured Intake
↓
72-Code Classification
↓
Responsible Employee / Unit
↓
Permission Check
↓
Available Resource Check
↓
Assistance Decision
↓
Cash / In-Kind Allocation
↓
Balance Reduction
↓
Case History / Oversight
The Real Engineering Problem
At first glance, the project looks like a request form.
In reality, it was a combination of:
CASE MANAGEMENT
+
ACCOUNTING CLASSIFICATION
+
RESOURCE GOVERNANCE
+
RBAC
+
ALLOCATION CONTROL
The form was only the entry point.
The real system value existed behind it.
Domain Analysis
One of the strongest parts of the project was the transition from informal organizational knowledge to a structured digital model.
The process was approximately:
Executive / Operational Ideas
↓
Direct Discussion
↓
Requirement Interpretation
↓
Business Classification
↓
72 Structured Codes
↓
Software Rules
This means the project involved real domain engineering, not only implementation.
72-Code Classification Model
The 72-code structure transformed diverse public requests into a model that could be handled consistently.
Conceptually:
Unstructured Human Request
↓
Request Type Identification
↓
Classification Code
↓
Organizational Responsibility
↓
Permitted Resource Type
↓
Processing Rule
The system could therefore process requests through a predictable internal model instead of relying only on free-text interpretation.
Why the 72 Codes Matter
Without structured classification:
Request A
Request B
Request C
could all be interpreted differently by different employees.
With a shared coding model:
Request
↓
Code
↓
Known Category
↓
Known Responsibility
↓
Known Processing Logic
This improves consistency.
Accounting / Operational Meaning
The coding model was tied to the way the organization controlled assistance and resources.
The codes were not merely visual labels.
They were part of the operational and accounting structure of the system.
They could be used to connect a request to:
- a category,
- a responsible role,
- an assistance type,
- and a controlled allocation.
Case Management Model
Each public request can be represented as a case.
A conceptual case model:
Case
├── Applicant
├── Request Data
├── Classification Code
├── Assigned Employee / Unit
├── Status
├── Assistance Type
├── Allocated Resource
├── Quantity / Amount
├── Decision
└── Processing History
This is more accurate than describing the system as a simple form application.
Applicant Intake
The web interface included a structured request form.
The visible fields show that the system collected controlled applicant information instead of relying on one free-text field.
This approach helps transform an incoming request into a processable case.
Conceptually:
Applicant Information
+
Request Type
+
Classification
↓
Structured Case
Request Sources
The organization could receive requests through different channels.
The software’s purpose was to normalize those requests into the same operational model once they entered the system.
The exact historical list of intake channels should not be expanded beyond the available evidence.
Assistance Was Not Only Cash
A major architectural feature was that the organization distributed both financial and non-financial assistance.
Examples included:
- cash,
- books,
- food packages,
- other allocated goods/resources.
This means the correct domain concept is not only:
Budget Management
but more broadly:
Resource Allocation
Resource Model
A resource could conceptually be modeled as:
Resource
├── Type
├── Unit
├── Available Quantity / Amount
├── Allocation Scope
└── Consumption History
Examples:
Cash → currency
Books → units
Food Packages → units
Other Goods → units / defined measurement
Cash vs In-Kind Assistance
The system therefore needed to support two different operational behaviors.
Cash
Available Monetary Allocation
↓
Authorized Employee
↓
Approved Amount
↓
Remaining Monetary Balance
In-Kind Resource
Available Quantity
↓
Authorized Employee
↓
Granted Quantity
↓
Remaining Stock / Allocation
Delegated Authority
Employees were not given unlimited access to organizational resources.
Instead, they received controlled authority.
The user described this as a type of:
تنخواه / delegated monthly allocation
Conceptually:
Employee
↓
Role
↓
Permission
↓
Monthly Allocation / Authority
↓
Available Resource Types
↓
Allowed Assistance
Monthly Limits
One of the important control mechanisms was the ability to give employees a limited monthly amount or quota.
This made it possible to decentralize service delivery while still keeping central governance.
Why Delegated Limits Matter
Without limits:
Employee
→ unrestricted spending / allocation
With limits:
Employee
→ defined authority
→ defined resource scope
→ defined monthly ceiling
This allows distributed execution without losing organizational control.
RBAC
The web version included online management of:
- users,
- access levels,
- roles,
- service permissions.
This is effectively a Role-Based Access Control (RBAC) layer.
Conceptual RBAC Model
User
↓
Role
↓
Permissions
↓
Allowed Request Categories
↓
Allowed Resource Types
↓
Allocation Limits
Example Permission Logic
A user might conceptually have permission to:
View Category X
Process Category X
Allocate Books
Allocate Food Packages
Use Cash up to Defined Limit
while another user might have:
Read Only
Management Oversight
Cross-Department Visibility
Exact historical permission names should only be documented where preserved.
Organizational Responsibility
A structured classification model allows requests to be routed toward the responsible employee or unit.
Conceptually:
Request Code
↓
Responsible Area
↓
Authorized User
This reduces arbitrary handling.
Resource Allocation Logic
When an employee processes a request, the system must consider:
Is the user authorized?
Is this request category allowed?
Is this resource type available?
Is sufficient balance available?
Is the monthly limit exceeded?
Only after those checks should allocation occur.
Validation Flow
Request
↓
Classification
↓
Permission Check
↓
Resource Check
↓
Limit Check
↓
Allocation
Resource Consumption
Every approved assistance action reduces an available balance.
Opening Allocation
↓
Assistance 1
↓
Assistance 2
↓
Assistance 3
↓
Remaining Allocation
This makes the system useful for both operational staff and management.
Inventory-Like Non-Cash Resources
Books and food packages behave more like inventory than cash.
For those resources, the system needs quantity-aware logic.
Conceptually:
Books
Opening Quantity: 100
Allocated: 15
Remaining: 85
Financial-Like Resources
Cash behaves more like a budget.
Conceptually:
Monthly Cash Authority
Opening Amount: X
Spent: Y
Remaining: X - Y
Unified Resource Abstraction
A strong modern architecture can represent both under one abstraction:
Allocation Resource
├── Type
├── Unit
├── Opening Balance
├── Consumed Balance
└── Remaining Balance
This lets the same workflow handle:
- currency,
- units,
- packages,
- other resources.
Employee Wallet / Allocation Concept
A useful conceptual representation is:
Employee Allocation
├── Cash
├── Books
├── Food Packages
└── Other Resources
Each employee only sees or uses what has been assigned to them.
Management Oversight
Central management needs visibility into:
- who received which allocation,
- how much was consumed,
- which cases were handled,
- which resources remain.
This creates accountability.
Auditability
The system is much stronger if every assistance action can answer:
Who?
What?
When?
For Which Case?
Using Which Resource?
How Much / How Many?
Under Which Classification?
This is a key enterprise principle.
History
A case history should preserve important actions.
Conceptually:
Case Created
Classified
Assigned
Reviewed
Resource Allocated
Completed
Historical implementation details should be documented only when preserved.
Version 1 — Windows Desktop
The first implementation was a Windows application.
The UI was created with Bunifu.
The visible login interface demonstrates the desktop phase of the project.
Desktop Architecture Character
Conceptually:
Windows Client
↓
Authentication
↓
Application Logic
↓
Data Store
The exact historical database technology should not be inferred unless separately documented.
Why Start with Desktop
The desktop version provided a controlled internal application for the initial workflow.
It was useful for validating:
- forms,
- classification,
- user access,
- operational logic.
Version 2 — Laravel Web Application
The later version moved to a web architecture based on Laravel.
This changed the operational model significantly.
Conceptually:
Browser
↓
Laravel Application
↓
Centralized Business Logic
↓
Centralized Data
Benefits of Web Migration
The web version offered practical advantages:
- centralized deployment,
- simpler user access,
- easier account management,
- easier permission management,
- reduced desktop installation dependency,
- easier future expansion.
Desktop → Web Evolution
The project history can be described as:
Windows Prototype / Internal Tool
↓
Operational Learning
↓
Web-Based Enterprise Platform
Migration Value
This project therefore demonstrates more than building two UIs.
It demonstrates:
- evolving a working business model,
- validating workflows,
- moving to a more maintainable deployment architecture.
Laravel as Business Logic Layer
The Laravel version was well suited to the system because the application had substantial business rules.
Examples:
- permissions,
- resource limits,
- request classification,
- user management,
- workflow rules,
- allocation validation.
These belong naturally in a centralized backend.
Suggested Laravel Domain Modules
A clean architecture could divide the application into:
Requests
Applicants
Classification
Users
Roles
Permissions
Resources
Allocations
Budgets
Inventory
Reporting
Audit
Administration
Request Module
Responsibilities:
- create request,
- update request,
- classify request,
- assign request,
- track status.
Applicant Module
Responsibilities:
- applicant identity,
- contact information,
- relationship to requests.
Classification Module
Responsibilities:
- 72-code structure,
- category hierarchy,
- code descriptions,
- organizational ownership.
Resource Module
Responsibilities:
- define resource types,
- define units,
- maintain balances,
- track availability.
Allocation Module
Responsibilities:
- assign resources to employees,
- enforce limits,
- record consumption.
User / RBAC Module
Responsibilities:
- users,
- roles,
- permissions,
- organizational scope.
Audit Module
Responsibilities:
- action history,
- who changed what,
- allocation history.
Reporting Module
Management may need reports across:
- request categories,
- employees,
- assistance types,
- resource consumption,
- remaining balances.
These are natural capabilities of the domain, although exact historical report screens should only be claimed where documented.
Reporting Dimensions
Useful dimensions include:
By Code
By Employee
By Resource Type
By Time Period
By Request Status
Budget Governance
For cash allocations, a modern version should maintain:
Opening Budget
Allocated to Employees
Consumed
Remaining
Stock Governance
For non-cash resources:
Opening Stock
Distributed
Remaining
Mixed Resource Dashboard
A management dashboard could show:
Cash Remaining
Books Remaining
Food Packages Remaining
Other Resources Remaining
Transaction Model
Every assistance action should be treated as a transaction.
Conceptually:
Allocation Transaction
├── case_id
├── employee_id
├── resource_id
├── quantity / amount
├── timestamp
└── reason / note
Atomicity
For modern implementation, allocation should be atomic.
Example:
Check Balance
↓
Create Allocation
↓
Reduce Balance
should occur in one database transaction.
This prevents partial updates.
Concurrency
If multiple employees allocate from the same resource pool simultaneously, the application must prevent overspending or negative stock.
Modern implementation should use:
- database transactions,
- row locking / appropriate concurrency control.
Negative Balance Protection
The system should never allow:
Remaining Balance < 0
unless explicitly permitted by management policy.
Periodic Reset / Renewal
Because some employee limits were monthly, modern implementation should support period-aware allocations.
Conceptually:
Allocation Period
├── start_date
├── end_date
└── limit
Carry-Over Policy
Whether unused allocation carries into the next month is a business rule.
The current source information does not specify this.
Do not invent it.
Approval Layers
The available information confirms employee limits and access control.
It does not fully document whether every case required multi-stage approval.
Therefore multi-stage approval should be treated as a V2 option, not a historical claim.
Duplicate Request Detection
A modern V2 could detect duplicate or repeated requests using:
- applicant identity,
- time period,
- request category.
This is a modernization recommendation only.
Fraud / Abuse Prevention
The historical system’s controlled allocations already reduce some misuse risk.
A modern version could add:
- duplicate detection,
- anomaly reporting,
- approval thresholds,
- full audit trails.
Important Ethical Boundary
The platform should be described as a system for:
structuring requests and controlling organizational resources
not as an automated system that decides who is “deserving.”
The software supports organizational processing.
It should not be presented as an algorithmic welfare eligibility engine.
Human Decision Role
A safe and accurate model is:
Software
→ organizes information
→ enforces permissions
→ tracks resources
Human Staff
→ evaluates the request
→ makes the assistance decision
Data Privacy
Public-assistance requests may contain personal information.
A modern system should therefore use:
- least-privilege access,
- encrypted transport,
- secure password storage,
- audit logs,
- data-retention policy.
These are modernization requirements, not confirmed historical features.
Sensitive Data Access
Not every employee should see every request.
RBAC should control:
Who can view?
Who can edit?
Who can allocate?
Who can report?
Security Logging
Important events:
Login
Failed Login
Role Change
Allocation Change
Case Update
Resource Adjustment
Authorization Should Be Server-Side
In the Laravel version, permissions should be enforced in backend policies/middleware, not only by hiding buttons.
Suggested Modern Laravel Architecture
HTTP / Livewire / API
↓
Application Services
↓
Domain Rules
↓
Repositories / Eloquent
↓
Database
Policies
Laravel Policies can enforce:
- case access,
- allocation permissions,
- management actions.
Form Requests
Laravel Form Requests can validate:
- applicant data,
- request code,
- resource amount,
- allowed quantities.
Domain Services
Complex allocation logic should not be placed directly inside controllers.
Use services such as:
RequestClassificationService
ResourceAllocationService
BudgetControlService
Example Allocation Service Logic
1. Confirm user permission
2. Confirm case status
3. Confirm resource eligibility
4. Confirm available balance
5. Confirm monthly limit
6. Create allocation transaction
7. Update balance
8. Write audit event
Database Model — Conceptual
users
roles
permissions
role_user
permission_role
applicants
requests
request_codes
request_statuses
resources
resource_types
resource_balances
employee_allocations
allocation_periods
assistance_transactions
audit_logs
72 Codes Table
Conceptually:
request_codes
├── id
├── code
├── title
├── parent_id
├── responsible_unit
└── active
The exact historical schema may differ.
Resource Table
resources
├── id
├── name
├── type
├── unit
└── active
Employee Allocation
employee_allocations
├── employee_id
├── resource_id
├── period_id
├── allocated_amount
├── consumed_amount
└── remaining_amount
Case Allocation History
A case may have one or more assistance transactions if organizational policy allows it.
Conceptually:
Case
↓
Assistance Transactions
Historical multiplicity should not be overstated without evidence.
API Opportunity
A modern version could expose controlled APIs for:
- request submission,
- status tracking,
- resource dashboards.
This is a V2 direction.
Public Portal vs Internal Portal
A strong modern separation is:
Public Request Portal
↓
Internal Processing Portal
Public users submit.
Authorized employees process.
Public Request Status
A V2 could allow applicants to track request status with a secure reference.
This is a modernization idea, not confirmed historical functionality.
Notification Layer
A modern system could notify staff about:
- new requests,
- nearing allocation limits,
- low stock,
- pending cases.
Resource Forecasting
Once transaction history exists, management can forecast resource demand.
Example:
Average Monthly Book Distribution
Average Food Package Distribution
Cash Consumption Trend
This is a natural V2 analytical capability.
Dashboards
Possible management cards:
Open Requests
Processed Requests
Cash Remaining
Books Remaining
Food Packages Remaining
Employees Near Monthly Limit
Analytics
Useful trends:
- request count by classification,
- assistance type distribution,
- monthly resource consumption,
- employee allocation usage.
Evidence Strategy
The currently available screenshots support two distinct historical phases.
Evidence A — Web Request Form
The web screenshot shows:
- online request submission,
- structured fields,
- request type selection,
- public-facing intake.
Recommended caption:
Laravel-based public request intake interface for structured assistance cases.
Evidence B — Windows Desktop Login
The desktop screenshot shows the earlier Windows implementation.
Recommended caption:
Initial Windows desktop version built with a custom Bunifu-based interface before the workflow was migrated to Laravel.
Evidence Story
Use the two images together:
Version 1
Windows / Bunifu
↓
Version 2
Laravel / Web
This visually proves the evolution of the project.
Historical vs Modern Boundary
Confirmed Historical Capabilities / Facts
- commissioned for the cultural organization of Astan Quds Razavi,
- public assistance request management,
- initial Windows desktop application,
- Bunifu-based desktop UI,
- later Laravel web version,
- direct requirement discussions with the head of the organization,
- conversion of operational ideas into a 72-code accounting/operational model,
- online user management,
- access-level management,
- controlled employee authority,
- monthly limited resource/budget access,
- cash assistance,
- non-cash assistance,
- resources such as books and food packages.
Modern V2 Recommendations
- explicit domain modules,
- transactional allocation service,
- stronger audit logging,
- concurrency control,
- dashboard analytics,
- anomaly detection,
- API separation,
- applicant status tracking,
- automated notifications.
These must be labeled as modernization ideas rather than historical implementation.
What Not to Overclaim
Do not claim:
- that the software autonomously decided who deserved assistance,
- that all requests were automatically approved,
- that every request used multi-stage approval,
- that all 72 codes are currently known or preserved,
- that specific fraud-detection algorithms existed historically,
- that every resource behaved exactly like inventory.
My Role
A precise portfolio description:
I worked directly with organizational leadership to translate an informal public-assistance process into a structured 72-code operational/accounting model, then implemented the workflow first as a Windows application and later as a Laravel-based web platform with user access control and controlled cash/non-cash resource allocation.
Engineering Highlights
- Converted executive-level operational concepts into a structured domain model.
- Designed a 72-code classification structure.
- Modeled public requests as processable cases.
- Implemented controlled user/role access.
- Supported delegated monthly employee authority.
- Supported both cash and non-cash assistance.
- Managed consumable resources such as books and food packages.
- Built an initial Windows/Bunifu application.
- Migrated the workflow to a Laravel web application.
- Centralized user and access management.
- Connected request handling to organizational resource governance.
Business Analysis Highlights
This project demonstrates:
CONVERSATION
→ REQUIREMENTS
→ DOMAIN MODEL
→ BUSINESS RULES
→ SOFTWARE
That is one of the strongest parts of the project.
Career Evidence
This project demonstrates experience with:
- Laravel
- Windows Desktop Applications
- Bunifu UI
- Business Process Modeling
- Domain Analysis
- Case Management
- RBAC
- Resource Allocation
- Budget Governance
- Cash & In-Kind Assistance
- Workflow Automation
- Desktop-to-Web Migration
- Enterprise Business Logic
CV Relevance
Tier A — Domain Modeling & Enterprise Workflow
This project is valuable because the difficult part was not the form.
The difficult part was turning organizational rules into a reliable digital model.
The project combines:
SOFTWARE ENGINEERING
+
BUSINESS ANALYSIS
+
ACCESS CONTROL
+
RESOURCE GOVERNANCE
Interview Story
Situation
The organization received many different public assistance requests through informal and paper-based channels.
Employees needed a way to process these requests while management still retained control over budget and physical resources.
Task
The process needed to be converted into a structured system that could classify requests, assign responsibilities, control employee authority, and track the consumption of both cash and non-cash resources.
Action
I discussed the operational model directly with the head of the cultural organization and translated the concepts into a 72-code accounting/operational classification structure.
I first implemented the workflow as a Windows desktop application using Bunifu.
Later, I rebuilt the system as a Laravel web application with centralized user management, access levels, and controlled employee allocations.
The resource model supported not only money, but also physical assistance such as books and food packages.
Result
The organization gained a structured workflow for handling public requests while maintaining control over who could allocate which resources and within what limits.
Suggested Website Full Description
Overview
The Astan Quds Razavi Public Assistance Management System was created to structure and control how public requests were received, classified, processed, and fulfilled.
The system evolved from an initial Windows/Bunifu desktop application into a Laravel-based web platform.
Domain Modeling
A major part of the project was requirement analysis.
Through direct discussions with organizational leadership, an informal operational model was converted into a structured 72-code classification system.
Public Request Management
Incoming requests were transformed into structured cases instead of remaining as unorganized paper or free-text requests.
Controlled Assistance
Employees were given defined access levels and limited monthly authority.
The system could control the use of both:
- cash,
- non-cash resources.
Examples of non-cash resources included books and food packages.
Access Control
User management and access levels were centralized in the web version so that different employees could receive different responsibilities and resource limits.
Desktop-to-Web Evolution
The first version was built as a Windows application using Bunifu.
The later Laravel version centralized the workflow and made user/access management easier to maintain.
Short Website Card Copy
Astan Quds Razavi Public Assistance Management System
Translated a public-assistance workflow into a 72-code operational/accounting model and implemented controlled cash and non-cash resource allocation, first as a Windows application and later as a Laravel web platform.
Alternative One-Liners
Domain-oriented
Translated an informal public-assistance process into a structured 72-code case-management and resource-allocation platform.
Laravel-oriented
Rebuilt a desktop assistance-management workflow as a Laravel platform with RBAC, monthly allocation limits, and cash/non-cash resource control.
Business-analysis-oriented
Worked directly with organizational leadership to turn operational concepts into a structured 72-code digital workflow.
Resource-oriented
Built a controlled assistance platform where authorized employees could allocate limited monthly cash and physical resources such as books and food packages.
Suggested Website Slug
/projects/public-assistance-resource-allocation
Alternative:
/projects/astan-quds-public-assistance-system
Cover Direction
Title
Public Assistance & Resource Allocation Platform
Subtitle
72-Code Classification · RBAC · Cash & In-Kind Assistance
Supporting Line
Windows → Laravel · Controlled Monthly Allocations
Visual Direction
A premium square technical cover should show:
- incoming public request,
- structured classification blocks,
- 72-code concept,
- employee permission layer,
- cash and physical resource icons,
- controlled allocation,
- Laravel/web transition.
Primary story:
REQUEST
→ CLASSIFY
→ AUTHORIZE
→ ALLOCATE
→ TRACK
Avoid making the cover look like:
- a donation website,
- an online payment app,
- a generic CRM.
The central idea is:
structured case management and controlled organizational resource allocation.
Relationship to the Other Institutional Projects
This project is distinct from the Digital Library family.
It demonstrates another dimension of institutional software:
Digital Library
→ Information Access
Public Assistance System
→ Operational Workflow + Resource Governance
This diversity is useful in a portfolio because it demonstrates the ability to model very different domains.
Modernization Direction
A modern V2 could be rebuilt around:
- Laravel,
- PostgreSQL,
- strict RBAC,
- transactional allocation services,
- immutable audit events,
- resource-ledger accounting,
- dashboard reporting,
- queue-based notifications.
Resource Ledger
A particularly robust V2 design would use a ledger.
Instead of only storing current balance:
Current Balance = 100
store transactions:
+100 Opening
-10 Case A
-5 Case B
+20 Additional Allocation
Then:
Balance = SUM(transactions)
This improves auditability.
Event History
A modern system can generate events:
RequestCreated
RequestClassified
RequestAssigned
AllocationGranted
ResourceConsumed
CaseClosed
This provides a strong audit trail.
Reporting From the Ledger
The ledger can support:
- monthly employee usage,
- resource consumption,
- historical balance reconstruction.
Integrity Rules
Modern V2 should enforce:
- no negative stock,
- no overspending,
- no unauthorized allocation,
- no allocation outside the allowed period.
Testing Strategy
Unit Tests
- 72-code classification rules,
- permission checks,
- monthly limit calculations,
- resource balance calculations.
Integration Tests
- create request,
- classify request,
- allocate resource,
- deduct balance,
- write audit event.
Authorization Tests
- unauthorized user cannot allocate,
- authorized user cannot exceed limit,
- management can view permitted reporting scope.
Example Test Scenario
Given:
Employee monthly book allocation = 20
When:
Employee grants 5 books
Then:
Consumed = 5
Remaining = 15
Overspend Test
Given:
Cash remaining = 100
When:
Employee attempts allocation = 150
Then:
Reject transaction
Permission Test
Given:
Employee has no permission for resource X
When:
Employee attempts allocation
Then:
Reject
Final Portfolio Statement
The project began as a request-management application, but its true value came from the business model behind it.
The system converted:
UNSTRUCTURED PUBLIC REQUESTS
+
ORGANIZATIONAL KNOWLEDGE
+
ACCOUNTING CLASSIFICATION
+
EMPLOYEE AUTHORITY
+
CASH / PHYSICAL RESOURCES
into a controlled digital workflow.
The strongest way to describe the project is:
I translated an informal public-assistance process into a structured 72-code case-management and resource-allocation system, then implemented it first as a Windows application and later as a Laravel web platform with controlled user permissions and monthly cash/non-cash allocation limits.