Technology Stack
Technology # Engineering Credentials
Every technology in our stack is here because it is the right tool for regulated, institutional software. No trend-chasing. This page is rendered from data/tech.yml โ a single YAML file that is the authoritative source for everything on this page.
๐ป Languages ๐ง Frameworks ๐๏ธ Data ๐ Publishing ๐ Security โ๏ธ DevOps ๐ i18n
Regulatory Certifications
OBF v11 โ MoHESR OBF Guidebook v11
UAE Ministry of Higher Education
100% Compliant
CAA โ CAA Standards
Commission for Academic Accreditation
Aligned
UAE PDPL โ UAE PDPL
UAE Federal Government
Compliant
๐ป Languages & Runtimes
Core programming languages powering all BRASS Digital Lab platforms.
๐ง Frameworks & Libraries
Application frameworks and R packages used in production platforms.
๐๏ธ Data & Storage
Database and data management technologies.
๐ Publishing & Documentation
Tools for generating professional documents, reports, and this website.
๐ Security & Access
Security architecture components protecting all BRASS platforms.
RBAC Custom (R Shiny) ยท Core
Purpose: Role-Based Access Control โ restricts feature access by user role.
In BRASS platforms: All BRASS platforms implement multi-tier RBAC (Admin / Staff / Viewer / Read-only). Roles control visible modules, editable data, and exportable reports.
MFA TOTP-based ยท Core
Purpose: Multi-Factor Authentication โ adds a second verification step at login.
In BRASS platforms: Platform-wide MFA on all administrative accounts. Implemented using TOTP (Time-based One-Time Passwords) with QR code enrollment.
Parameterised Queries DBI standard ยท Core
Purpose: SQL injection prevention via prepared statements.
In BRASS platforms: All database interactions use DBI parameterised queries. No string interpolation in SQL. Hardened during OBF Platform security rewrite.
Environment Variables R Sys.getenv()
Purpose: Secrets management โ keeps credentials out of source code.
In BRASS platforms: All authentication credentials, API keys, and database connection strings managed via .Renviron. Never committed to Git.
โ๏ธ DevOps & CI/CD
Deployment, version control, and automation infrastructure.
๐ Internationalisation
Multilingual and localisation capabilities across BRASS platforms.
Arabic (RTL) Cairo / Noto Sans Arabic ยท Core
Purpose: Right-to-left Arabic language support in UI and documents.
In BRASS platforms: Bilingual English/Arabic interfaces in the OBF Platform. Arabic typography on this website. Institutional stakeholders in UAE HE require Arabic-language capability.
Development Environment
๐ฅ๏ธ IDE
All BRASS Digital Lab platforms are authored and maintained in:
- RStudio (primary) โ project management, R Shiny development, Quarto authoring, database query development
- Positron (secondary) โ next-generation IDE from Posit, used for complex debugging and data exploration
Both IDEs are configured with renv project environments ensuring exact package version reproducibility.
๐ Workflow
Author .qmd / .R files
โ
quarto preview (live reload)
โ
git commit + push โ main
โ
GitHub Actions trigger
โ
quarto render (CI environment)
โ
Deploy to GitHub Pages
Every merge to main triggers a full Quarto render and deployment. The Quarto version is pinned in the Actions workflow to prevent breaking changes.
GitHub Repository
Source Code & Architecture Documentation
All BRASS Digital Lab public repositories, architecture diagrams, and technical documentation are available on GitHub.