⚠️ The project is currently in an alpha phase, contributions are very welcome.
This repository contains the source code for the National Digital Exchange (NDX) website. The NDX website serves as an informational platform to describe the National Digital Exchange initiative, its goals, and provide updates to stakeholders and the public.
- Static Site Generator: Eleventy (11ty)
- CSS Framework: GOV.UK Frontend
- Package Manager: Yarn
To run this website locally:
- Clone the repository
- Install dependencies:
yarn install - Run the development server:
yarn start
src/: Source files for the website_site/: Output directory for the built site (generated).eleventy.js: Eleventy configuration filepackage.json: Project dependencies and scriptstests/: E2E tests (Playwright)
- Discover section for news, events, and case studies
- Catalogue of cloud services
- Access request system for cloud services
- Cloud Maturity Model and Assessment Tool
We welcome contributions to improve the NDX website. Please read our Contributing Guidelines for more details.
# Run all unit tests
yarn test
# Run tests in watch mode
yarn test:watchPrerequisites:
- mitmproxy installed and configured (see Epic 4 documentation)
- Local app server running
- Playwright browsers installed:
npx playwright install
Execution:
# Terminal 1: Start mitmproxy
yarn dev:proxy
# Terminal 2: Start local server
yarn start
# Terminal 3: Run E2E tests
yarn test:e2e
# Run specific test suites
yarn test:e2e:auth # Authentication tests
yarn test:e2e:accessibility # Accessibility tests
# Debug mode (headed browser)
yarn test:e2e --headed
# View test report
npx playwright show-reportTroubleshooting:
- Tests timeout: Verify mitmproxy running on port 8081
- Proxy errors: Check certificate trust (Epic 4, Story 4.5)
- Authentication fails: Verify OAuth mock configuration
CI Testing:
Tests run automatically on pull requests via GitHub Actions. View results in PR checks.
Content is managed through Markdown files located in the src/ directory. The site uses Eleventy's collections to organize and display content.
The Try Before You Buy feature connects to Innovation Sandbox for AWS account provisioning.
| Variable | Description | Default |
|---|---|---|
AWS_SSO_PORTAL_URL |
AWS SSO portal URL for console access | https://d-9267e1e371.awsapps.com/start |
API_BASE_URL |
Innovation Sandbox API base URL | /api |
REQUEST_TIMEOUT |
API request timeout in milliseconds | 10000 |
For local development with mitmproxy, default values work out of the box.
Set environment variables in your deployment configuration:
# Production SSO portal
export AWS_SSO_PORTAL_URL="https://your-portal.awsapps.com/start"Configuration is centralized in src/try/config.ts.
This website is automatically deployed to GitHub Pages when changes are merged to the main branch.
This project is licensed under the MIT License. See the LICENSE file for details.
For website-related inquiries, please contact [email protected].
For more information about the National Digital Exchange itself, please visit the About NDX section of this website.