Welcome to Asset360 v3 Documentation
This is the internal documentation for Asset360 v3, a comprehensive fund management platform built with modern web technologies and Domain-Driven Design principles.
What is Asset360?
Asset360 is a fund management platform designed to handle:
- Fund Management: Complete lifecycle management of investment funds
- Investor Relations: Registration, unit purchases, redemptions, and holdings tracking
- Portfolio Management: Equity and bond portfolio tracking with market data integration
- Accounting: Double-entry accounting system with automated journal entries
- EOD Processing: End-of-day calculations including NAV, interest accrual, and portfolio valuation
- Fixed Deposits: FDR management with interest calculations
- Bank Account Management: Multi-account management with interest tracking
Technology Stack
- Frontend: React 19.2, Vite 7, TanStack Router 1.133, TanStack Query 5.90, shadcn/ui component library
- Backend: Cloudflare Workers with Hono 4 and tRPC v11.6
- Data: Cloudflare D1 (SQLite) accessed through Drizzle ORM 0.44
- Supporting Services: Market data adapters for DSE equities & bonds, Google OAuth2 integration
- Package Manager: pnpm 10
- Testing: Vitest 3 with Testing Library
Architecture Highlights
Asset360 v3 follows Domain-Driven Design (DDD) principles:
- Each domain is isolated in its own folder with a barrel file (
index.ts) public API - Service → Repository → Database pattern
- Service factory for dependency injection
- Two-layer architecture: Domain Services + Application Services (Coordinators)
- ESLint-enforced domain boundaries through barrel imports
Getting Started
- Architecture Overview - Understand the system architecture
- API Reference - Explore the API documentation
- Development Guidelines - Learn coding standards and best practices
Quick Navigation
For Developers
- Coding Standards
- Testing Guidelines
- Database Standards
- Barrel Files - Domain public APIs
- Domain Isolation - Boundary enforcement
For Understanding the System
For Integration
Last Updated: Based on commit
ee3a9e55(Merge pull request #101 from saadmniamatullah/dependabot/npm_and_yarn/non-major-4a69fc7260)