Casino Reports is a demo project for creating casino customer visits reports, based on customer visits data from CSV files, which uses SQL Server Analysis Services Tabular Modeling and Flexmonster Pivot Table & Charts.
Customer visits CSV import can be added to multiple Customer visits collections. Customer visits collections can be later used to filter the data in the reports.
The server consists of 2 applications - Casino Reports Identity Server, API and SSAS Tabular Model and Flexmonster Accelerator API.
This application is IdentityServer4 OpenID Connect and OAuth 2.0 server, and Casino Reports REST API for the Angular client, developed with:
- .NET Core 2.2
- ASP.NET Core 2.2
- Entity Framework 2.2
- IdentityServer4
- CsvHelper
- SQL Server 2017 Developer Edition
- SQL Server Analysis Services Tabular Model
- Visual Studio 2017 Community
- Visual Studio 2017 Data Tools
- SQL Server Management Studio
The IdentityServer4 server is configured with OpenID Connect and OAuth 2.0 Implicit flow for the Angular client.
The SQL Server Analysis Services Tabular Model is based on the API's relational database and is in the CasinoReports.Report.CustomerVisits project. It requires SQL Server 2017 with SSAS Tabular Model and Visual Studio 2017 Data Tools installed. When some customer visits CSV data is uploaded via the Angular client, the Tabular Model must be deployed to SSAS via Visual Studio Data Tools, so the data to be available for the Flexmonster component.
The application runs on https://localhost:44300. The SQL Server relational database is initialized and seeded on the first application start.
Flexmonster has backend Accelerator, which takes over and speeds up the communication of the JavaScript component with SQL Server Analysis Services (SSAS) and can be included in your backend application, when you need application level authentication and authorization (Flexmonster JavaScript component support of custom Authorization Header on each request is comming soon).
The Flexmonster Accelerator API is .NET 4.7.2 application (no current support of .NET Core) and is used by the Flexmonster JavaScript component for communication with SSAS. The API runs on http://localhost:54998/api/Accelerator/
The client is Angular CLI 7.1.4 and Angular 7.1.4 application with simple Angular Material UI, which uses the angular-oauth2-oidc OpenID Connect and OAuth 2.0 Implicit flow library for authentication and authorization.
To start the application go to its folder and run ng serve
from the console. The application runs on http://localhost:5001