Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
2097841
#DEV-2 - Added support for Service Tags, WebManifest Protocol Handler…
HolimaX Oct 5, 2024
33cc92b
Updated config.yml
HolimaX Oct 6, 2024
18fdfc6
Updated config.yml
HolimaX Oct 6, 2024
908702c
Updated config.yml
HolimaX Oct 6, 2024
7d69724
Updated config.yml
HolimaX Oct 6, 2024
30e8ff0
Updated config.yml
HolimaX Oct 6, 2024
327aa9e
Updated config.yml
HolimaX Oct 6, 2024
3cbd088
Updated config.yml
HolimaX Oct 6, 2024
3ab87ff
Updated config.yml
HolimaX Oct 6, 2024
9101738
#CICD-1 - CircleCI build fix attempt #1
HolimaX Oct 6, 2024
7cf7463
Updated config.yml
HolimaX Oct 6, 2024
27eb6d1
Updated config.yml
HolimaX Oct 6, 2024
a529321
Updated config.yml
HolimaX Oct 6, 2024
ea5dde4
#CICD-1 - CircleCI build fix attempt #2
HolimaX Oct 6, 2024
62ec120
Merge branch 'feature/Add-Android14-HSGalaxyRing-NFTMint' of https://…
HolimaX Oct 6, 2024
b0dcd9e
#CICD-1 - CircleCI build fix attempt #3
HolimaX Oct 6, 2024
fd99909
#CICD-1 - CircleCI build fix attempt #4
HolimaX Oct 7, 2024
41c08b7
#CICD-1 - CircleCI build fix attempt #5
HolimaX Oct 7, 2024
3c44fe0
#CICD-1 - CircleCI build fix attempt #6
HolimaX Oct 7, 2024
50ba28b
#CICD-1 - CircleCI build fix attempt #7
HolimaX Oct 7, 2024
37c004d
Fix build: add --legacy-peer-deps to npm install (#83)
circleci-app[bot] Jun 3, 2026
20c8ab6
Fix build: force ajv@8 to resolve MODULE_NOT_FOUND error (#84)
circleci-app[bot] Jun 3, 2026
8eb172f
feat: update package version and dependencies, enhance authentication…
HolimaX Jun 6, 2026
83c8deb
fix: pin react-adsense to ^0.1.0 (^0.1.3 does not exist on npm) (#85)
circleci-app[bot] Aug 23, 2026
3d282ac
#DEV-2 - Refactor components to functional components with hooks; in…
HolimaX Sep 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 16 additions & 7 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
# Javascript Node CircleCI 2.0 configuration file
# Javascript Node CircleCI 2.1 configuration file
#
# Check https://circleci.com/docs/2.0/language-javascript/ for more details
# Check https://circleci.com/docs/2.1/language-javascript/ for more details
#
version: 2.1
jobs:
build:
docker:
# specify the version you desire here
#- image: circleci/node:latest
- image: cimg/python:3.7.12-node #jiripuc/circleci-python-node:python3.9-node12-gcloud-cypress
- image: cimg/python:3.10.14-node #jiripuc/circleci-python-node:python3.9-node12-gcloud-cypress
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
Expand All @@ -29,11 +29,20 @@ jobs:
# fallback to using the latest cache if no exact match is found
- v1-dependencies-

- run: yarn install
#- run: yarn install

- run: yarn upgrade
#- run: yarn upgrade

- run: 'CI=false && npm run build'
- run: 'CI=false && npm cache clean -force && rm package-lock.json'

#- run: 'CI=false && npm i --save --legacy-peer-deps && npm install marked marked-man && npm audit fix && npm run build-nix'
- run: npm i --save --legacy-peer-deps

- run: npm install ajv@^8.12.0 --legacy-peer-deps

- run: npm audit fix || true

- run: 'CI=false && npm run prestart &&npm run build-nix --verbose'

- save_cache:
paths:
Expand All @@ -47,7 +56,7 @@ jobs:
echo Running test
set -e
EXIT_CODE=0
yarn test || EXIT_CODE=$?
npm test || EXIT_CODE=$?
echo $EXIT_CODE

- store_artifacts:
Expand Down
9 changes: 6 additions & 3 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ PORT=3010
SKIP_PREFLIGHT_CHECK=false
REACT_APP_VERSION=${FULLVERSION}
VERSION=${REACT_APP_VERSION}
REACT_APP_AUTHPROVIDERCID=${AUTHPROVIDERCID}
REACT_APP_REAPTCHA=${REAPTCHA_SITE_KEY}
REACT_APP_PCD_PATH=${PCD_PATH}
REACT_APP_AUTHPROVIDERCID=${AUTHPROVIDERCID} # value?
REACT_APP_REAPTCHA=${REAPTCHA_SITE_KEY} # value?
REACT_APP_PCD_PATH=${PCD_PATH} # value?
REACT_APP_S3_BUCKET=${S3_BUCKET} # value?
REACT_APP_S3_AK=${S3_ACCESS_KEY} # value?
REACT_APP_S3_S=${S3_SECRET} # value?
28 changes: 28 additions & 0 deletions .github/workflows/node-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Node.js CI

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Use Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: 18.x
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Lint code
run: npm run lint

- name: Run tests with coverage
run: npm test
2 changes: 1 addition & 1 deletion .github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:

strategy:
matrix:
node-version: [12.x, 14.x, 16.x]
node-version: [12.x, 14.x, 16.x, 18.x]

steps:
- uses: actions/checkout@v2
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,4 @@ yarn-error.log*
# Sensitive Files
.terraformconfig/variables.tf
node_modules
src/gitInfo.json
1 change: 1 addition & 0 deletions .terraformconfig/aws_ec2_launchtemplates/data.tf
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ EOF
}

# Source: https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-join/
# See ./deploy.sh for standalone process
data "template_file" "kubeadm_join_hw" {
template = <<EOF
#!/bin/bash -xe
Expand Down
2 changes: 1 addition & 1 deletion .terraformconfig/aws_eks/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<meta content="DSV Home Page" property="og:title" />
<meta content="website" property="og:type" />
<meta content="%PUBLIC_URL%" property="og:url" />
<meta content="%PUBLIC_URL%/favicon-32x32.png?v=0.1.6" property="og:image" />
<meta content="%PUBLIC_URL%/favicon-32x32.png?v=0.1.26" property="og:image" />
<meta content="ReactJS DSV Home Page" property="og:description" />
<meta content="the" property="og:determiner" />
<meta content="en_GB" property="og:locale" />
Expand Down
34 changes: 28 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,36 @@
[![CircleCI](https://circleci.com/gh/HolimaX/React.svg?style=svg&circle-token=1ad83382b085ffc81cd9c161999280cfc11453a3)](https://circleci.com/gh/HolimaX/React)
![Node CI](https://github.com/HolimaX/React/workflows/Node%20CI/badge.svg)
# Cloud Dashboard (CD) Foundation

# Introduction
[![CircleCI Status](https://circleci.com/gh/HolimaX/React.svg?style=svg)](https://circleci.com/gh/HolimaX/React)
[![Node CI](https://github.com/HolimaX/React/workflows/Node%20CI/badge.svg)](https://github.com/HolimaX/React)
[![Feature Maturity](https://img.shields.io/badge/Feature%20Maturity-Overview%20%26%20Matrix-blue.svg)](./docs/FEATURE_MATURITY.md)
[![React](https://img.shields.io/badge/React-18.3.1-blue.svg)](https://react.dev/)
[![React Router](https://img.shields.io/badge/React%20Router-6.26.1-orange.svg)](https://reactrouter.com/)
[![Redux](https://img.shields.io/badge/Redux-5.0.1-purple.svg)](https://redux.js.org/)
[![Bootstrap](https://img.shields.io/badge/Bootstrap-5.3.3-purple.svg)](https://getbootstrap.com/)

## Feature Maturity & Integrator Guide

For a comprehensive status overview and comparison between the public **Cloud Dashboard (CD) Foundation** and the **Personalized Cloud Dashboard (PCD)** tier, please refer to:

👉 **[Feature Maturity Overview & CD/PCD Architectural Matrix](./docs/FEATURE_MATURITY.md)**

### Key Modernization Highlights
* **React 18 & Functional Architecture**: Full migration to React 18 hooks (`useState`, `useEffect`, `useCallback`, `useRef`) and `createRoot`.
* **React Router v6**: Modern declarative routing (`<Routes>`, `<Route element={<... />} />`) with route-level analytics.
* **Redux 5 & Redux-Thunk 3**: Streamlined state store with async circuit breaker retry loops (`isApiHalted`) protecting against external API flakiness.
* **Debounced Search**: 500ms debounced catalog search component with query sanitization.
* **Public Repository Sanitization**: Zero hardcoded secrets, proprietary endpoints, or private cloud references. All configuration is externalized via `.env`.
* **PlatformApps Preservation**: All `PLATFORMAPPS` telemetry and mock APIs native to HolimaX remain 100% intact and untouched.

## Introduction

This project:

- was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
- was forked from original source to further be used as template for developments (like [libhacontimig](https://github.com/HolimaX/libhacontimig))
- was ajusted to include integration with technologies (like Terraform, Ansible, Kubernetes), mentioned in github topics and can be learned about in README.md files within folders. For more details, see ```https://github.com/HolimaX/React/blob/<branch>/src/README.md``` file as one of such inclusives.
- serves as the public open-source foundation for Cloud Dashboard integrators and Personalized Cloud Dashboard (PCD) customers.
- was adjusted to include integration with cloud and container technologies (Terraform, Ansible, Kubernetes), documented within respective configuration directories.

React-based Application is still kept isolated to ensure overall integrity and transaprency.
React-based Application is kept isolated to ensure overall integrity and transparency.

## Application Prerequistes

Expand Down Expand Up @@ -83,6 +104,7 @@ For compatible Products with designated type (like "Pro"/"Premium"):
- Release 1 supports OAuth 2.0 based authentication, as explained in [OAuth2](https://medium.appbase.io/how-to-implement-authentication-for-your-react-app-cf09eef3bb0b)

- Release 3 supports [ES6](https://www.w3schools.com/js/js_2016.asp) Class-based component loading via optionalDependencies and rendering check via ComponentDidMount() React Lifecycle methods with compatible SPAs.

## Learn More

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
Expand Down
4 changes: 2 additions & 2 deletions deploy.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
!#/bin/bash
#!/bin/bash

echo Copying new React App version to destination location
aws s3 cp s3://<> /<>
aws s3 cp ./build s3://hx-cloud-dashboards/artifacts/ --recursive
16 changes: 16 additions & 0 deletions getGitInfo.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
const { execSync } = require('child_process');
const fs = require('fs');

const branch = execSync('git rev-parse --abbrev-ref HEAD').toString().trim();
const repoPath = execSync('git rev-parse --show-toplevel').toString().trim();
const remoteRepoPath = execSync('git remote get-url origin').toString().trim();
const shortHash = execSync('git rev-parse --verify --short HEAD').toString().trim();

const gitInfo = {
branch,
repoPath,
remoteRepoPath,
shortHash
};

fs.writeFileSync('./src/gitInfo.json', JSON.stringify(gitInfo, null, 2));
Empty file added man/beerbank.1
Empty file.
Loading
Loading