Table of Contents
- What are dynamic data fakers used for
- Principles for creating dynamic data
- How to create
- Current Data Sources
- Contribute
What are dynamic data fakers used for
- Dynamic data visualization demos. To be able to select different view options, use filters etc to see how visualization works and how different data can be seen.
-
App development. Without realistic data it’s hard to imagine and design in insulation all the different ways data (to be entered and viewed) can vary and how that needs to be taken into account in;
- ux/ui designs; given space, cutting long text to separately expanding views, field validations, gradual queries, etc.
- how queries should be optimized for api consumptions and minimizing latency of query responses
- how query results could or should be processed for viewing.
- API performance testing for large amounts of properly variable data. As indexing looks very different if data is not realistic
- Creating simulations. By chaining multiple dynamic data models, it’s possible to create simulations for “if this, then that” type of scenarios that help simulate some end results would look like based on given input and known biz logic or process dependencies.
- Machine Learning models training. If known variations is known based on real life data sets, it’s possible then to replicate dynamic fake data based on it. And then that data can be used for basic ML training. The quality of the trained model, is dependable from the quality of the logic used for creating dynamic fake data.
You can find the install packages for some of the existing ones via NPM here.
Learn more about dynamic data generators and the benefits of artificial data in software development.
View our Blog Posts on dynamic data generators for specific sources
Principles for creating dynamic data
- Aim to mimic real-world data as much as possible.
- Start simple and gradually develop to learn from (real & real-looking but fake) ie. avatar icon, vs real person picture, name: random characters vs real names
How to create
Optional starting points
- start from an existing data source (API) → data model + data examples. Inspiration can be taken from Prifina > Your Data
- start from the data model only
- create a new data model based on biz logic
- start from another data faker (a good place to start as having a big userbase and audience, but not catering to more advanced dynamic data needs and more advanced data source types)
Process perspective
- have a data model and populate it with the first set of example data
- what parts to make dynamic and why?
- what is the logic to use to generate dynamic data?
- coding of the dynamic data generation logic
- connect also with ‘jest’ to create test cases
Current Data Sources
Below are data sources that have already been started and could be improved upon:
- 23andMe
- Ancestry
- Fibit
- Foursquare
- Garmin
- Homekit
- Huawei
- iOS Health
- Lyft
- Movesense
- Oura
- Peloton
- Polar
- Runkeeper
- Sensor BNO055
- Strava
- Twitch
- Uber
- Whoop
- Withings
Below are the Data Sources that are currently having data fakers created for:
- Spotify
- Calm
Contribute
We welcome contributions and forks to this data set, and look forward to seeing what developers build in our Liberty. Equality. Data. Slack channel.
- Fork the Project
- Clone the newly forked Project
git clone REPLACE-WITH-URL
- Make as many changes as you desire
- Add your changes
git add *
- Commit your changes
git commit -m "Commit Title"
- Push Commit to Original Repo
git push origin main
- Open a Pull Request
For a more thorough step-by-step guide, please visit this document