Plotter with TypeScript
UI: http://r-webapp-ui.s3-website-ap-southeast-2.amazonaws.com/?url=https://en.wikipedia.org/wiki/Women%27s_high_jump_world_record_progression
API Docs: https://did9hrg18lno9.cloudfront.net/api-docs
Get Endpoint: https://did9hrg18lno9.cloudfront.net/api/v1/plotter/image?url=https://en.wikipedia.org/wiki/Women%27s_high_jump_world_record_progression
A small codebase for emulating appointment.
Table of Contents
Requirements
Appointment emulator requires the following to run:
Architecture Diagram
Usage
Intalling dependencies:
- We only use lodash to do array manipulations for the mock database.
npm install
Where to start?
main.js
is the first points of entry in this application.
Test
npm test
Run
npm run start
Design Decision
- Programming Language: TypeScript (JavaScript), I have been doing TypeScript for the past 2 years, It's what I am used to at the moment.
To Do
Assumptions Made
- Only works with proper table structure
table
> thead
& tbody
> tr
> td
- Only works if the first row is numeric
- Non numeric value will be ignored
- 1.46 m (4 ft 9 1⁄2 in) is considered numberic:
1.46
- 20 May 1922 is considered numeric:
20
Task Requirements
- [x] Node JS - Wokrer
- [x] Node JS - API
- [x] React JS - UI
- [x] Package your application in a Docker container.
- [x] Achieve >80% test coverage.
- [x] Healthcheck endpoint.
- [x] OpenAPI 3 Docs (Swagger).
- [x] Infrastructure as Code (CloudFormation).
- [x] Cloudfront CDN.
- [x] HTTPS from the gateway layer.
- [x] Mobile first UI.
- [x] AWESOME architecture diagram.
Other Information
Time breakdown:
- backend development: 2 hours.
- frontend development: 1 hour.
- documentation: 0.25 hour.
- operation: 0.25 hour.