/CasinoReports

Demo project for creating casino customer visits pivot & chart reports

Primary LanguageC#MIT LicenseMIT

Casino Reports

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.

Server APIs

The server consists of 2 applications - Casino Reports Identity Server, API and SSAS Tabular Model and Flexmonster Accelerator API.

Casino Reports Identity Server, API and SSAS Tabular Model

This application is IdentityServer4 OpenID Connect and OAuth 2.0 server, and Casino Reports REST API for the Angular client, developed with:

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 Accelerator API

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/

Angular Client

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