Features Overview
Thesrc/features/ directory contains feature-based modules that organize code by business domain.
Feature List
| Feature | Description |
|---|---|
fund-family | Fund family management and configuration |
capital-activity | Capital calls, distributions, events |
capital-call | Capital call workflows and allocation |
distributions | Distribution management |
closings | Fund closing workflows |
equalizations | Equalization calculations |
fees | Fee configuration and charging |
waterfalls | Distribution waterfall management |
financial-reporting | Reports and performance metrics |
investments | Investment tracking |
investors | Investor management |
entities | Entity management |
commitments | Commitment tracking |
transactions | Transaction history |
calculations | MXL calculation builder |
settings | Fund and system settings |
auth | Authentication and login |
admin | Admin tools |
credit-facility | Credit facility management |
general-ledger | GL entries and accounting |
notices | Notice generation |
reports | Report generation |
scenarios | What-if analysis |
Feature Structure
Each feature follows a consistent structure:Key Features
Fund Family
Central hub for fund administration:- Fund family details and settings
- Fee configuration
- Allocation rules
- Document management
Capital Activity
Managing capital events:- Capital calls with allocation
- Distributions
- Event timeline
- Notice generation
Calculations (MXL)
MXL formula builder:- Formula editor with autocomplete
- Function documentation
- Calculation preview
- Audit trail
Financial Reporting
Performance and reporting:- Hypothetical waterfalls
- Performance metrics (IRR, TVPI, DPI)
- End-of-period reports
- Custom reports
Settings
Configuration management:- Transaction codes
- Fee settings
- Allocation rules
- Investor classes
Feature Dependencies
Adding a New Feature
1
Create directory
Create
src/features/my-feature/.2
Add page component
Create
MyFeaturePage.tsx as the main entry point.3
Define routes
Create
MyFeatureRoutes.tsx with route definitions.4
Register routes
Import routes in
src/app/AppRoutes.tsx.5
Add to navigation
Update navigation to include the new feature.
Best Practices
Keep Features Isolated
Keep Features Isolated
Features should be self-contained. Minimize imports from other features.
Use Shared Code
Use Shared Code
Consistent Structure
Consistent Structure
Follow the established pattern for new features.
Route Organization
Route Organization
Define routes in the feature, export to main router.