refactor: Update paths to use FeatureSet structure for accounts, dashboards, and status pages

This commit is contained in:
Nawaz Dhandala
2026-03-03 22:01:29 +00:00
parent a53912ceb8
commit 172cdf24f4
6 changed files with 48 additions and 48 deletions

View File

@@ -25,7 +25,7 @@ jobs:
with:
timeout_minutes: 30
max_attempts: 3
command: cd App/Accounts && npm install && npm run compile && npm run dep-check
command: cd App/FeatureSet/Accounts && npm install && npm run compile && npm run dep-check
compile-common:
runs-on: ubuntu-latest
@@ -161,7 +161,7 @@ jobs:
with:
timeout_minutes: 30
max_attempts: 3
command: cd App/AdminDashboard && npm install && npm run compile && npm run dep-check
command: cd App/FeatureSet/AdminDashboard && npm install && npm run compile && npm run dep-check
compile-dashboard:
runs-on: ubuntu-latest
@@ -179,7 +179,7 @@ jobs:
with:
timeout_minutes: 30
max_attempts: 3
command: cd App/Dashboard && npm install && npm run compile && npm run dep-check
command: cd App/FeatureSet/Dashboard && npm install && npm run compile && npm run dep-check
compile-e2e:
@@ -251,7 +251,7 @@ jobs:
with:
timeout_minutes: 30
max_attempts: 3
command: cd App/StatusPage && npm install && npm run compile && npm run dep-check
command: cd App/FeatureSet/StatusPage && npm install && npm run compile && npm run dep-check
compile-test-server:
runs-on: ubuntu-latest

View File

@@ -56,20 +56,20 @@ COPY ./App/package*.json /usr/src/app/
RUN sed -i "s/\"version\": \".*\"/\"version\": \"$APP_VERSION\"/g" /usr/src/app/package.json
RUN npm install
WORKDIR /usr/src/app/Accounts
COPY ./App/Accounts/package*.json /usr/src/app/Accounts/
WORKDIR /usr/src/app/FeatureSet/Accounts
COPY ./App/FeatureSet/Accounts/package*.json /usr/src/app/FeatureSet/Accounts/
RUN npm install
WORKDIR /usr/src/app/Dashboard
COPY ./App/Dashboard/package*.json /usr/src/app/Dashboard/
WORKDIR /usr/src/app/FeatureSet/Dashboard
COPY ./App/FeatureSet/Dashboard/package*.json /usr/src/app/FeatureSet/Dashboard/
RUN npm install
WORKDIR /usr/src/app/AdminDashboard
COPY ./App/AdminDashboard/package*.json /usr/src/app/AdminDashboard/
WORKDIR /usr/src/app/FeatureSet/AdminDashboard
COPY ./App/FeatureSet/AdminDashboard/package*.json /usr/src/app/FeatureSet/AdminDashboard/
RUN npm install
WORKDIR /usr/src/app/StatusPage
COPY ./App/StatusPage/package*.json /usr/src/app/StatusPage/
WORKDIR /usr/src/app/FeatureSet/StatusPage
COPY ./App/FeatureSet/StatusPage/package*.json /usr/src/app/FeatureSet/StatusPage/
RUN npm install
WORKDIR /usr/src/app
@@ -85,10 +85,10 @@ CMD [ "npm", "run", "dev" ]
# Copy app source
COPY ./App /usr/src/app
# Copy frontend sources
COPY ./App/Accounts /usr/src/app/Accounts
COPY ./App/Dashboard /usr/src/app/Dashboard
COPY ./App/AdminDashboard /usr/src/app/AdminDashboard
COPY ./App/StatusPage /usr/src/app/StatusPage
COPY ./App/FeatureSet/Accounts /usr/src/app/FeatureSet/Accounts
COPY ./App/FeatureSet/Dashboard /usr/src/app/FeatureSet/Dashboard
COPY ./App/FeatureSet/AdminDashboard /usr/src/app/FeatureSet/AdminDashboard
COPY ./App/FeatureSet/StatusPage /usr/src/app/FeatureSet/StatusPage
# Bundle frontend source
RUN npm run build-frontends:prod
# Bundle app source

View File

@@ -27,17 +27,17 @@ import {
const app: ExpressApplication = Express.getExpressApp();
const AccountsPublicPath: string = "/usr/src/app/Accounts/public";
const AccountsViewPath: string = "/usr/src/app/Accounts/views/index.ejs";
const AccountsPublicPath: string = "/usr/src/app/FeatureSet/Accounts/public";
const AccountsViewPath: string = "/usr/src/app/FeatureSet/Accounts/views/index.ejs";
const DashboardPublicPath: string = "/usr/src/app/Dashboard/public";
const DashboardViewPath: string = "/usr/src/app/Dashboard/views/index.ejs";
const DashboardPublicPath: string = "/usr/src/app/FeatureSet/Dashboard/public";
const DashboardViewPath: string = "/usr/src/app/FeatureSet/Dashboard/views/index.ejs";
const AdminPublicPath: string = "/usr/src/app/AdminDashboard/public";
const AdminViewPath: string = "/usr/src/app/AdminDashboard/views/index.ejs";
const AdminPublicPath: string = "/usr/src/app/FeatureSet/AdminDashboard/public";
const AdminViewPath: string = "/usr/src/app/FeatureSet/AdminDashboard/views/index.ejs";
const StatusPagePublicPath: string = "/usr/src/app/StatusPage/public";
const StatusPageViewPath: string = "/usr/src/app/StatusPage/views/index.ejs";
const StatusPagePublicPath: string = "/usr/src/app/FeatureSet/StatusPage/public";
const StatusPageViewPath: string = "/usr/src/app/FeatureSet/StatusPage/views/index.ejs";
interface FrontendConfig {
routePrefix: string;

View File

@@ -8,20 +8,20 @@
},
"main": "Index.ts",
"scripts": {
"build-frontend:accounts": "bash ./scripts/frontend-run.sh Accounts dev-build",
"build-frontend:dashboard": "bash ./scripts/frontend-run.sh Dashboard dev-build",
"build-frontend:admin-dashboard": "bash ./scripts/frontend-run.sh AdminDashboard dev-build",
"build-frontend:status-page": "bash ./scripts/frontend-run.sh StatusPage dev-build",
"build-frontend:accounts": "bash ./scripts/frontend-run.sh FeatureSet/Accounts dev-build",
"build-frontend:dashboard": "bash ./scripts/frontend-run.sh FeatureSet/Dashboard dev-build",
"build-frontend:admin-dashboard": "bash ./scripts/frontend-run.sh FeatureSet/AdminDashboard dev-build",
"build-frontend:status-page": "bash ./scripts/frontend-run.sh FeatureSet/StatusPage dev-build",
"build-frontends": "npm run build-frontend:accounts && npm run build-frontend:dashboard && npm run build-frontend:admin-dashboard && npm run build-frontend:status-page",
"build-frontend:accounts:prod": "bash ./scripts/frontend-run.sh Accounts build",
"build-frontend:dashboard:prod": "bash ./scripts/frontend-run.sh Dashboard build",
"build-frontend:admin-dashboard:prod": "bash ./scripts/frontend-run.sh AdminDashboard build",
"build-frontend:status-page:prod": "bash ./scripts/frontend-run.sh StatusPage build",
"build-frontend:accounts:prod": "bash ./scripts/frontend-run.sh FeatureSet/Accounts build",
"build-frontend:dashboard:prod": "bash ./scripts/frontend-run.sh FeatureSet/Dashboard build",
"build-frontend:admin-dashboard:prod": "bash ./scripts/frontend-run.sh FeatureSet/AdminDashboard build",
"build-frontend:status-page:prod": "bash ./scripts/frontend-run.sh FeatureSet/StatusPage build",
"build-frontends:prod": "npm run build-frontend:accounts:prod && npm run build-frontend:dashboard:prod && npm run build-frontend:admin-dashboard:prod && npm run build-frontend:status-page:prod",
"watch-frontend:accounts": "bash ./scripts/frontend-run.sh Accounts dev-build --watch",
"watch-frontend:dashboard": "bash ./scripts/frontend-run.sh Dashboard dev-build --watch",
"watch-frontend:admin-dashboard": "bash ./scripts/frontend-run.sh AdminDashboard dev-build --watch",
"watch-frontend:status-page": "bash ./scripts/frontend-run.sh StatusPage dev-build --watch",
"watch-frontend:accounts": "bash ./scripts/frontend-run.sh FeatureSet/Accounts dev-build --watch",
"watch-frontend:dashboard": "bash ./scripts/frontend-run.sh FeatureSet/Dashboard dev-build --watch",
"watch-frontend:admin-dashboard": "bash ./scripts/frontend-run.sh FeatureSet/AdminDashboard dev-build --watch",
"watch-frontend:status-page": "bash ./scripts/frontend-run.sh FeatureSet/StatusPage dev-build --watch",
"dev:api": "npx nodemon",
"start": "export NODE_OPTIONS='--max-old-space-size=8096' && node --require ts-node/register Index.ts",
"compile": "tsc",

View File

@@ -110,9 +110,9 @@
"resolveJsonModule": true
},
"exclude": [
"Accounts",
"Dashboard",
"AdminDashboard",
"StatusPage"
"FeatureSet/Accounts",
"FeatureSet/Dashboard",
"FeatureSet/AdminDashboard",
"FeatureSet/StatusPage"
]
}

View File

@@ -134,17 +134,17 @@ services:
app:
volumes:
- ./App:/usr/src/app:cached
- ./App/Accounts:/usr/src/app/Accounts:cached
- ./App/Dashboard:/usr/src/app/Dashboard:cached
- ./App/AdminDashboard:/usr/src/app/AdminDashboard:cached
- ./App/StatusPage:/usr/src/app/StatusPage:cached
- ./App/FeatureSet/Accounts:/usr/src/app/FeatureSet/Accounts:cached
- ./App/FeatureSet/Dashboard:/usr/src/app/FeatureSet/Dashboard:cached
- ./App/FeatureSet/AdminDashboard:/usr/src/app/FeatureSet/AdminDashboard:cached
- ./App/FeatureSet/StatusPage:/usr/src/app/FeatureSet/StatusPage:cached
# Use node modules of the container and not host system.
# https://stackoverflow.com/questions/29181032/add-a-volume-to-docker-but-exclude-a-sub-folder
- /usr/src/app/node_modules/
- /usr/src/app/Accounts/node_modules/
- /usr/src/app/Dashboard/node_modules/
- /usr/src/app/AdminDashboard/node_modules/
- /usr/src/app/StatusPage/node_modules/
- /usr/src/app/FeatureSet/Accounts/node_modules/
- /usr/src/app/FeatureSet/Dashboard/node_modules/
- /usr/src/app/FeatureSet/AdminDashboard/node_modules/
- /usr/src/app/FeatureSet/StatusPage/node_modules/
- ./Common:/usr/src/Common:cached
- /usr/src/Common/node_modules/
extends: