Skip to content

Latest commit

 

History

History
5 lines (3 loc) · 1.24 KB

README.md

File metadata and controls

5 lines (3 loc) · 1.24 KB

This is still a work in progress.

A program to automate running and storing internet speedtest results. The backend runs in a docker container, store results in Mongodb via Typegoose/Mongoose and presents a simple REST API over Express to retrieve the results. I'm planning for a React front end that graphs the results over time, showing my averages and outliers for the day, week, month and year. Mostly this project is an excuse to play with Mongodb and do some nodejs work on the backend.

Overall I am very fond of TypeScript, but I do see a potential problem with duplicate source of truths in applications. Typegoose is a means to address this for Mongoose and TypeScript projects, but it is not fully complete. For example, my aggregate queries have duplicate type information in the query and the returned class SpeedTestAggregate. There is also the potential for duplicate source of truth information at the api boundary, when validating the inbound request and translating it into a TypeScript type. The typescript-json-validator project is an attempt to address this, but it depends on older versions of some libraries which is worrying. I am interested in learning more about how project mitigate these types of issues in the TypeScript ecosystem.