This PR introduces the foundational codebase and project structure for the Strata.Analytics application. It establishes the multi-project backend ecosystem (.NET 6.0), a frontend React dashboard built with TypeScript, initial testing frameworks, containerization scripts, and continuous integration pipeline badges.
Unit Tests: Drafted the Strata.Analytics.Test.Unit project housing authorization mocks, mock database context factories, and granular extraction business unit rules.
Cypress Integration: Scaffolded end-to-end user-flow smoke tests under the cypress directory targeting search filters and security configurations.
Verification Plan
Build Check: Ensure container orchestration functions via docker-compose up -d --build.
API Verification: Access local endpoints (https://localhost:8443/index) to verify active Swagger documentation schema structures.
### Summary
This PR introduces the foundational codebase and project structure for the **Strata.Analytics** application. It establishes the multi-project backend ecosystem (`.NET 6.0`), a frontend React dashboard built with TypeScript, initial testing frameworks, containerization scripts, and continuous integration pipeline badges.
### Core Changes
#### 1. Repository & CI/CD Setup
* **Documentation:** Added a comprehensive [[README.md](https://gitea.bermudalamb.synology.me/bermudalamb/analytics/compare/main...feature/initial-commit?expand=1)](https://gitea.bermudalamb.synology.me/bermudalamb/analytics/compare/main...feature/initial-commit?expand=1) featuring build status badges (GitHub Actions, Octopus Deploy, SonarQube, NuGet), branching strategies, and instructions for running the application via Docker Compose.
* **Git Configuration:** Configured a tailored global `.gitignore` file mapping Visual Studio build artifacts, local history, and node modules.
#### 2. Infrastructure & Containerization
* **Dockerization:** Implemented specialized multi-stage `Dockerfiles` for various architecture tiers:
* `Dockerfile.api`: Configured for building, testing, and running the core API with SonarQube scanner integrations.
* `Dockerfile.dashboard` & `Dockerfile.hangfire`: Dedicated environment builds for the Hangfire background job scheduler and its dashboard UI.
* `Dockerfile.web`: Node 18 setup for compiling the React single-page application into an Nginx server web container.
* **Orchestration:** Added standard `docker-compose.yml` configurations along with local metrics setups (`grafana`, `influxdb`).
#### 3. Backend Architecture (`src/Strata.Analytics.*`)
* **Api:** Setup the controllers (`Workbooks`, `Extracts`, `DataSources`, etc.), custom authorization handlers, security roles, and application startup pipelines.
* **Biz:** Implemented core business logic engines covering content migration helpers, Snowflake database wrappers, excel/csv exporters, calculation mappings, and Entity Framework Core migrations tracking database modifications.
* **Models & Client:** Structured cross-cutting business data transfer models, saved workbook interfaces, and generated consumer clients.
#### 4. Frontend Ecosystem (`src/Strata.Analytics.Web/analytics`)
* **React App:** Setup a full single-page application architecture using TypeScript and Kendo UI.
* **Component Structure:** Formed layout frameworks and services separating modules for:
* `dashboard`: Modular rendering systems for widgets like bars, pies, bubbles, and text.
* `extract` & `datasource`: UI layouts for connecting data warehouses and scheduling automated reports.
* `fields` & `filters`: Intricate condition pickers, syntax helpers, and filter bars.
#### 5. Verification & Quality Assurance
* **Unit Tests:** Drafted the `Strata.Analytics.Test.Unit` project housing authorization mocks, mock database context factories, and granular extraction business unit rules.
* **Cypress Integration:** Scaffolded end-to-end user-flow smoke tests under the `cypress` directory targeting search filters and security configurations.
---
### Verification Plan
* **Build Check:** Ensure container orchestration functions via `docker-compose up -d --build`.
* **API Verification:** Access local endpoints (`https://localhost:8443/index`) to verify active Swagger documentation schema structures.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
This PR introduces the foundational codebase and project structure for the Strata.Analytics application. It establishes the multi-project backend ecosystem (
.NET 6.0), a frontend React dashboard built with TypeScript, initial testing frameworks, containerization scripts, and continuous integration pipeline badges.Core Changes
1. Repository & CI/CD Setup
.gitignorefile mapping Visual Studio build artifacts, local history, and node modules.2. Infrastructure & Containerization
Dockerization: Implemented specialized multi-stage
Dockerfilesfor various architecture tiers:Dockerfile.api: Configured for building, testing, and running the core API with SonarQube scanner integrations.Dockerfile.dashboard&Dockerfile.hangfire: Dedicated environment builds for the Hangfire background job scheduler and its dashboard UI.Dockerfile.web: Node 18 setup for compiling the React single-page application into an Nginx server web container.Orchestration: Added standard
docker-compose.ymlconfigurations along with local metrics setups (grafana,influxdb).3. Backend Architecture (
src/Strata.Analytics.*)Workbooks,Extracts,DataSources, etc.), custom authorization handlers, security roles, and application startup pipelines.4. Frontend Ecosystem (
src/Strata.Analytics.Web/analytics)dashboard: Modular rendering systems for widgets like bars, pies, bubbles, and text.extract&datasource: UI layouts for connecting data warehouses and scheduling automated reports.fields&filters: Intricate condition pickers, syntax helpers, and filter bars.5. Verification & Quality Assurance
Strata.Analytics.Test.Unitproject housing authorization mocks, mock database context factories, and granular extraction business unit rules.cypressdirectory targeting search filters and security configurations.Verification Plan
docker-compose up -d --build.https://localhost:8443/index) to verify active Swagger documentation schema structures.