Releases: Jaxolotl/AdvancedWDC_StepByStep
v1.8.0
ChangeLog
- updated the shim dependency and run audit fix
- Add HOST_NAME and PORT as env variable with default fallback to local host and port 3000 for backwards compat
- Use only the configuration values to set up the server app
- Remove deprecated dev env vars from .env.TEMPLATE
Special thanks to Brandon O'Brien for the feedback
Extended dev info
- Add extended dev info to README.md
- reorder documentation order for better readability
- adds "run on simulator" tip
JSDoc fix
Step 6 - Introduction to testing
Testing is a cornerstone of software development, and is as complex ans specialized as the development itself, up o the limit in which one cannot move forward without the other ( e.g TDD ).
Typically you'd want to include Unit Tests, Integration Tests, Functional tests on your dev pipeline. Also you'd like to have a measure of the tested surface AKA Code Coverage
On this release we briefly introduce some basic unit testing using JEST which allow you to define your testing configuration in a very granular way, including coverage threshold and many other settings, and it gracefully integrates with webpack and babel
The tests contained are just quick examples, by the time being I didn't have enough time to add better examples, but I promise to do so before the end of this year.
Step 5 - Error Handling
Capture and propagate errors in a predictable way is a key for develop, maintain and improve your software.
Here some of the tools, info and concepts implemented on this release:
Step 4 - Pagination
Large DataSets
How can we effectively go through a large dataset?
And how can we communicate that to our users?
- http://tableau.github.io/webdataconnector/docs/api_ref.html#webdataconnectorapi.tableau.reportProgress
- https://developer.spotify.com/documentation/web-api/#pagination
- https://developer.spotify.com/documentation/web-api/reference/object-model/#paging-object
How could we handle chunk based paging?
e.g
Step 3 - Get Data
Once we have the schema defined, we start getting the data from the API.
DATA GATHERING
http://tableau.github.io/webdataconnector/docs/wdc_phases#phase-two
http://tableau.github.io/webdataconnector/docs/api_ref.html#webdataconnectorapi.webdataconnector.getdata
This release introduce the following concepts and properties of the Table Object and the data Gathering phase
API lib
https://github.com/thelinmichael/spotify-web-api-node
API endpoints documentation
- https://developer.spotify.com/documentation/web-api/reference/personalization/get-users-top-artists-and-tracks/
- https://developer.spotify.com/documentation/web-api/reference/library/get-users-saved-albums/
- https://developer.spotify.com/documentation/web-api/reference/library/get-users-saved-tracks/
- https://developer.spotify.com/documentation/web-api/#spotify-uris-and-ids
- https://developer.spotify.com/documentation/web-api/reference/tracks/get-several-audio-features/
- https://developer.spotify.com/documentation/web-api/reference/artists/get-several-artists/
Step 2 - Get Schema
This release add the methods and documentation regarding data schemas in Tableau
For more info
- http://tableau.github.io/webdataconnector/docs/api_ref.html#webdataconnectorapi.webdataconnector.getschema
- http://tableau.github.io/webdataconnector/docs/api_ref.html#webdataconnectorapi.schemacallback
- http://tableau.github.io/webdataconnector/docs/api_ref.html#webdataconnectorapi.tableinfo-1
- http://tableau.github.io/webdataconnector/docs/api_ref.html#webdataconnectorapi.columninfo
- http://tableau.github.io/webdataconnector/docs/api_ref.html#webdataconnectorapi.standardconnection
- http://tableau.github.io/webdataconnector/docs/api_ref.html#webdataconnectorapi.tableau.abortwitherror
Step 1 - Authentication
This release includes only the code required to handle all the authentication steps during the tableau phases
For more info