mfullbrook / mod-training-areas

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MOD Training Area Opening Times

Mountain bikers and walkers can enjoy restricted MOD training areas at specific times. This app shows the opening times in a convenient mobile friendly form.

This is fun side-project to practice using some different tech:

  • Scraper written in TypeScript - scrapes data from the gov.uk website, persist to the data store and trigger site rebuild.
  • AWS DynamoDB to store the data
  • AWS Lambda to Run the python scraper
  • AWS EventBridge (or AWS CloudWatch) to schedule calling the Lambda function
  • AWS CDK to build the AWS infrastructure
  • Next.js, React and Typescript for a server-side rendered website consuming data from DynamoDB
  • Vercel to build and deploy the site

Bonus points: trial different website build and deployment strategies:

Build Instructions

Install dependencies

  • AWS CDK
  • AWS SAM
brew tap aws/tap
brew install aws-sam-cli
npm install -g aws-cdk

Build the Lambda function

cd scraper.js
npx tsc
sam build
npm run package

Deploy the infrastructure

cd infrastructure

About


Languages

Language:HTML 80.6%Language:TypeScript 13.8%Language:JavaScript 3.5%Language:Python 2.0%Language:CSS 0.1%