A comprehensive financial analytics dashboard built with Blazor Server and Syncfusion Components. This application provides powerful data visualization and analysis capabilities for financial data using interactive pivot tables, charts, and data grids.
- Interactive Pivot Table - Primary dashboard component with drag-and-drop field analysis
- Real-time Data Visualization - Regional and departmental performance charts
- Advanced Data Grid - Detailed transaction records with filtering and sorting
- Responsive Dashboard Layout - Drag-and-drop resizable panels
- Summary Cards - Key financial metrics at a glance
- Multi-dimensional Analysis - Analyze data by Department, Category, Region, Year, Quarter
- Dynamic Filtering - Filter data by Status, Priority, and other dimensions
- Export Functionality - Export pivot tables and grids to Excel/PDF
- Budget Variance Analysis - Track actual vs budgeted amounts
- Transaction Management - Comprehensive transaction tracking and categorization
- Modern Bootstrap 5 Theme - Clean and professional interface
- FontAwesome Icons - Rich iconography throughout the application
- Responsive Design - Works seamlessly on desktop and mobile devices
- Interactive Charts - Column charts for regional and departmental analysis
- Color-coded Status Indicators - Visual status and priority indicators
- Framework: .NET 9.0 Blazor Server
- UI Components: Syncfusion Blazor Components v30.2.4
- Frontend: HTML5, CSS3, Bootstrap 5
- Icons: FontAwesome 6.0
- Data: In-memory sample data generation
SfPivotView- Interactive pivot table with field list and toolbarSfChart- Column charts for data visualizationSfGrid- Advanced data grid with filtering and exportSfDashboardLayout- Responsive dashboard panelsSfCard- Summary metric cards
SimpleFinancialDashboard/ ├── Models/ │ ├── FinancialData.cs # Main financial data model │ └── ChartData.cs # Chart-specific data model ├── Services/ │ └── FinancialDataService.cs # Data generation service ├── Pages/ │ ├── FinancialDashboard.razor # Main dashboard page │ ├── Index.razor # Home page │ ├── Counter.razor # Sample counter page │ └── FetchData.razor # Sample data page ├── Shared/ │ ├── MainLayout.razor # Main application layout │ ├── NavMenu.razor # Navigation menu │ └── SurveyPrompt.razor # Survey component ├── Data/ │ └── WeatherForecastService.cs # Sample weather service ├── wwwroot/ │ └── css/ # Static CSS files ├── _Imports.razor # Global imports ├── Program.cs # Application startup └── SimpleFinancialDashboard.csproj # Project file - .NET 9.0 SDK or later
- Visual Studio 2022 or Visual Studio Code
- Valid Syncfusion license (community or commercial)
-
Clone the repository
git clone <repository-url> cd SimpleFinancialDashboard
-
Restore dependencies
dotnet restore
-
Build the project
dotnet build
-
Run the application
dotnet run
-
Access the application
- Open your browser and navigate to
https://localhost:5001orhttp://localhost:5000 - Click on "Financial Dashboard" in the navigation menu
- Open your browser and navigate to
The application uses a comprehensive FinancialData model with the following properties:
public class FinancialData { public int TransactionID { get; set; } // Unique identifier public DateTime Date { get; set; } // Transaction date public string Description { get; set; } // Transaction description public string Category { get; set; } // Expense/Income category public decimal Amount { get; set; } // Transaction amount public string Type { get; set; } // "Income" or "Expense" public string Department { get; set; } // Business department public string Region { get; set; } // Geographic region public string Status { get; set; } // Approval status public decimal Budget { get; set; } // Budgeted amount public string Priority { get; set; } // Transaction priority // Computed properties for pivot analysis public string Year { get; } // Extracted year public string Month { get; } // Month name public string Quarter { get; } // Quarterly grouping public decimal Variance { get; } // Budget variance }- Total Income: Aggregated income across all transactions
- Total Expenses: Aggregated expenses with transaction count
- Net Profit: Calculated profit/loss margin
- Total Transactions: Count across all departments
- Rows: Department, Category, Transaction Type
- Columns: Year, Quarter
- Values: Total Amount, Budget, Variance
- Filters: Region, Status, Priority
- Features: Field list, grouping bar, toolbar, export options
- Column chart showing income vs expenses by region
- Interactive tooltips and legends
- Bootstrap 5 theming
- Departmental breakdown of total amounts
- Visual comparison across business units
- Comprehensive transaction listing
- Excel-style filtering on all columns
- Sorting, paging, and column selection
- Export to Excel/PDF capabilities
- Color-coded status and variance indicators
Add your Syncfusion license key in Program.cs:
// Add before builder.Services.AddSyncfusionBlazor(); Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR_LICENSE_KEY");The application uses Bootstrap 5 themes. Customize colors and styling in:
wwwroot/css/site.css- Application-specific styles- Syncfusion theme can be changed by updating the theme references
- New Data Fields: Update
FinancialData.csmodel - Custom Charts: Add chart components in the dashboard layout
- Additional Filters: Extend pivot table filters and grid columns
- New Pages: Create additional
.razorpages and update navigation
The FinancialDataService.cs generates sample data. Extend it to:
- Connect to real databases
- Import data from external sources
- Add data validation and business rules
The dashboard is fully responsive with:
- Mobile-first approach using Bootstrap 5 grid system
- Flexible dashboard panels that adapt to screen sizes
- Touch-friendly controls for mobile devices
- Collapsible navigation for smaller screens
- Application runs on Blazor Server with secure HTTPS by default
- No sensitive data is hardcoded (uses sample data only)
- Ready for authentication and authorization integration
- CORS and security headers configured for production
This project uses Syncfusion Community/Commercial license. Ensure you have appropriate licensing for your use case.
- Fork the project
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
For questions and support:
- Create an issue in this repository
- Consult Syncfusion Blazor Documentation
- Visit Syncfusion Community Forums
- Real-time data updates with SignalR
- Advanced forecasting and trend analysis
- Custom dashboard themes and branding
- Multi-tenant support
- Advanced user role management
- Integration with external financial APIs
- Mobile application companion
- Advanced reporting and scheduling
Built with ❤️ using Blazor and Syncfusion Components