Skip to content

co-cddo/ndx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

National Digital Exchange (NDX) Website

CI CodeQL GitHub License GitHub deployments GitHub language count GitHub top language OpenSSF Scorecard OpenSSF Best Practices

⚠️ The project is currently in an alpha phase, contributions are very welcome.

Overview

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.

Technology Stack

Local Development

To run this website locally:

  1. Clone the repository
  2. Install dependencies:
    yarn install
    
  3. Run the development server:
    yarn start
    

Project Structure

  • src/: Source files for the website
  • _site/: Output directory for the built site (generated)
  • .eleventy.js: Eleventy configuration file
  • package.json: Project dependencies and scripts
  • tests/: E2E tests (Playwright)

Key Features

  • Discover section for news, events, and case studies
  • Catalogue of cloud services
  • Access request system for cloud services
  • Cloud Maturity Model and Assessment Tool

Contributing

We welcome contributions to improve the NDX website. Please read our Contributing Guidelines for more details.

Running Tests

Unit Tests (Jest)

# Run all unit tests
yarn test

# Run tests in watch mode
yarn test:watch

End-to-End Tests (Playwright)

Prerequisites:

  • 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-report

Troubleshooting:

  • 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 Management

Content is managed through Markdown files located in the src/ directory. The site uses Eleventy's collections to organize and display content.

Try Before You Buy Configuration

The Try Before You Buy feature connects to Innovation Sandbox for AWS account provisioning.

Environment Variables

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

Development

For local development with mitmproxy, default values work out of the box.

Production

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.

Deployment

This website is automatically deployed to GitHub Pages when changes are merged to the main branch.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

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.

About

National Digital Exchange

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •