Skip to content

Corporate

Purpose

The main public corporate site, plus a customer-portal authentication surface consumed by other apps.

Source directory

apps/corporate-web/src/ (React frontend), worker/ (this app's own Worker code), public/customer-portal/ (portal static assets, including the generated shared.css — see Monorepo "Generated CSS").

Framework

React 18 + TypeScript + Vite.

Commands

npm run dev:corporate       # Vite dev server
npm run build:corporate     # sync:portal-styles -> tsc -b -> vite build -> tsc -p worker/tsconfig.json

Output

apps/corporate-web/dist/ (frontend) - the worker's own compiled output is type-checked, not separately bundled (Wrangler compiles worker/index.ts at deploy time).

Deployment mechanism

Cloudflare Worker, name akshaya-group-global, Static Assets + run_worker_first for /customer-portal* and /api/customer/*. wrangler deploy --config apps/corporate-web/wrangler.jsonc. Domain: akshayagroupglobal.com (custom_domain: true).

Environment variables

None currently read from import.meta.env in this app's source (see Applications overview "Note on environment variables").

akshayagroupglobal.com

Dependencies on shared packages

@akshaya/ui, @akshaya/shared.

  • Its own Worker (/api/customer/*, on akshayagroupglobal.com itself): auth/login, auth/logout, auth/register, auth/session, me, requirements, freelancers/shortlist.
  • The central API Worker (api.akshayagroupglobal.com): /api/contact (the corporate contact form), /api/public-config, /api/health.

Troubleshooting

  • /customer-portal* returns a 404 for a real client-side route: check run_worker_first in apps/corporate-web/wrangler.jsonc still lists the path pattern, and that no file under public/ collides with it - see Cloudflare → Troubleshooting.
  • Portal styling looks wrong after a packages/ui change: run npm run sync:portal-styles and commit the regenerated apps/corporate-web/public/customer-portal/shared.css - CI's check:portal-styles-drift step catches this if forgotten.