/tanda-pings-work-sample

My solution to the Tanda pings work sample.

Primary LanguageJavaScript

tanda-pings-work-sample

Build Status
My solution to the Tanda pings work sample. You can view the brief here.

Getting Started

Dependencies

To install dependencies, simply run:

npm install

Testing

Note: Mocha and Ruby are required for testing. To test the software, run:

npm test

Running

To start the software, run:

npm start

Built With

Reflection

Why JavaScript?

Recently I've been using TypeScript for the majority of my projects. This is mainly due to the static type checking and support for experimental ECMAScript Syntax. For this project I decided to go back to basics and use JavaScript to test how well I perform without Intellisense all the advanced TypeScript features I've come to take for granted.

Why Sqlite?

Typically I'd use a NoSQL database like MongoDB or an ORM like Sequelize as a datastore. For this project, I orignally intended to follow the suit and use NeDB a MongoDB inspired local datastore. While I felt this would be a great fit for a small project like this, I felt that using a SQL database like Sqlite3 would be better. This is mainly because Tanda currently uses Postgresql, but also because using SQL would allow me to easily swap databases without changing a lot of code. In the case that the code should need to be changed to work with a NoSQL database, this would not be a large problem due to a layer of abstraction I added between the server and the database (db.js).