Overview of repos
Hub related reposâ
- hub: The Digital Hub frontend & backend code âĄïļ See Hub
- digital-hub-api: A NodeJS API for interoperating with a Digital Hub
- brightcove-ingest: BrightCove video ingestion service âĄïļ See Content/Brightcove
- themepark: Customer bespoke themes and logos âĄïļ See Theming
- translations: Translation ingestion. Connects to our translations google spreadsheet. Extracts the content and creates the documents which can be inserted into our application bundling pipeline. âĄïļ See Localisation
- ops: This repo contains all provisioning-related Ops for 5app
- deployment: Scripts and resources to create and deploy 5app services as containers
- release-orb: CircleCi Semantic Release Orb
- serverless-scripts: Configuration and scripts for serverless stacks
- ecs-stack: 5app ecs
- QA: This repository contains the smoke tests and the regression tests
- maintenance-page: Static user-facing landing page for planned maintenance
Configs ð§â
- semantic-release-config: Semantic Release shareable config
- eslint-config-5app: ð§ 5app Javascript Style Guide
- prettier-config: 5App Prettier Config
Packages ðĶâ
- dare: Database and REST, API for generating SQL out of structured Javascript object. www.npmjs.com/package/dare
- logger: Simple console logger that outputs json in prod and pretty messages on dev
- memoize: Memoization is an optimisation technique used primarily to speed up computer programs by storing the results of expensive function calls and returning the cached result when the same inputs occur again.
- health-check-helpers: A set of functions to help determine if a service is healthy or not
- esm-helpers: ESM helper utility functions
- buslane: Buslane is a cross-service and transparent object.method proxy, using an rpc-lite json/http1 transport.
- fetch: Node fetch utilities
- eslint-plugin-sequel: SQL eslint rules to perform: Static analysis to find SQL injection vulnerabilities; Syntax formatting
- scorm-player: Scorm Player
- region-sync: Helpers for pub/sub'ing data between regions via sns/sqs
- pixo: Convert SVG icons into React components
- pdf.js: PDF Reader in JavaScript
- brenda: A utility app for creating & editing base5-ui colour themes
- sync-branches: GitHub Action to sync back a branch to another after a merge.
- openvpn-server-ldap-otp: A dockerised OpenVPN server using LDAP for authentication, with optional 2FA via Google Authenticator
Microservicesâ
- media-analyser: Calculate durations of video and audio files
- schedule-worker: Schedule worker that runs jobs periodically (e.g.
nudgeWorker
andcalcPlaylistWeight
) - unzipper: Simple dockerized node.js service to unzip s3 objects
- user-importer: Import users and their teams from files uploaded to S3
Buckets ðŠĢâ
- frontend-bucket: Fonts, Images, CSS
- pdf-player: Host the static PDF Player files and publishes them to our global frontend bucket
Lambdas ðâ
âĄïļ See Lambdas
- cloudfront-gate: Lambda@edge that verifies access to cloudfront distribution
- generate-renditions-on-the-fly: Generate public image renditions on the fly using Lambda@Edge
- ms-teams-integration: Send notifications to users and teams, and directly interact with the hub from within Microsoft Teams
- dynamic-bucket-origin: A CDN lambda@edge function. Given a bucket parameter routes requests through to a different s3 origin.
- event-dispatcher: AWS Lambda function listening to AWS SQS and calling external APIs
- user-importer-copy-from-custom-bucket: Copy user files from dedicated client buckets to the main user importer bucket
Client lambdas ðâ
- reports-cron-wellcome: Reports Cron for Wellcome Trust
- cs-schedule-reports-to-sftp: Charles Stanley SFTP Reporting
Templates ð§â
- service-template: 5app microservice template
- package-template: ð§ JS template for building packages and apps at 5app
- lambda-template: Lambda Template
- bucket-template: Static content host with CI scripts to deploy to S3 buckets
- .github: Shared Workflows
Documentation ðâ
- public-docs: 5app guideline website docs.5app.com for customers
- docusaurus: Documentation for 5app-developers
Coding challenges ðĪŊâ
- 5app-coding-service: Coding challenge
- 5app-coding-challenge: Coding challenge
Deprecated ðŠĶâ
- base5-ui: 5app's reusable UI component library
- missing-translation-detector: A small utility for detecting missing translations in hubs, using the english copy as a master list.
- excel4node: Node module to allow for easy Excel file creation
- opengraph-scraper: A utility for scraping public urls for metadata
- lsh: Locality Sensitive Hashing
- generate-profile-pictures: Generate user avatars on the fly using Lambda@Edge
- login-task-submission: Coding challenge
- base5-icons: 5app's React SVG icons
- react-input-autosize: Auto-resizing input field for React
- passport-saml: SAML 2.0 authentication with Passport
- node-xml-encryption: W3C XML Encryption implementation for node.js (http://www.w3.org/TR/xmlenc-core/)
- get-video-duration: Get the duration of a video file
- react-textarea-autosize: textarea component for React which grows with content
- json-api-tester: test json ajax calls using a simple json file
- json-assert: check json object matches template
- require-private: require local modules without relative paths (for node.js)