Expense Manager
Full-Stack Expense & Asset Management Application
A full-stack enterprise-style application covering expense tracking, asset management, inventory, salary administration, department management, and financial request workflows — with an analytics dashboard and PDF report export. Built with React 19 (Vite), NestJS 11, and MongoDB.
Modules
Dashboard
Analytics overview with Recharts charts — expense breakdown by category, asset summary, and financial totals.
Expenses
Log and categorise expenses with filtering, pagination, and export.
Assets
Track company assets with detailed asset profiles, status, and depreciation data.
Inventory
Inventory management with consumption logging and stock-level tracking.
Salaries
Employee salary management with monthly records and department grouping.
Departments
Department administration with conflict handling and hierarchy management.
Requests
Financial request workflows — raise, review, and approve expense requests.
Reports
Generate detailed PDF reports with category breakdown and LKR currency labels.
Tech Stack
Frontend
State & Data
UI & Charts
Backend
Database
What I Built
React 19 (Vite) frontend with React Router 7 and Zustand state management
NestJS 11 REST API backend with JWT authentication and Argon2 password hashing
MongoDB data layer with Mongoose schemas for all modules
Recharts analytics dashboard with category-level expense breakdowns
PDF report generation using jsPDF and html-to-image with LKR formatting
React Hook Form integration for all forms with class-validator backend DTOs
Asset detail page with complex allocation and status tracking logic
Inventory consumption logging with real-time stock-level calculations
Built by Nisala Nadeera Kudaligamage — Full-Stack Software Engineer