Code Monkey home page Code Monkey logo

mockaroo-help's Introduction

Mockaroo

Mockaroo (www.mockaroo.com) is a freemium tool that provides mock data.

Almost kind of data could be mocked with Mockaroo.

Also, it allows that csv could be uploaded to fill some of this data.

Mockaroo allows embedded objets.

This is a very light tutorial of Mockaroo, and it is for developers that does not know Ruby, like me.

Schema

First of all, you should create the schema within its website.

Or you can create the json file to load to Mockaroo. The json has the following sintaxis:

{
  "num_rows": 1,
  "file_format": "json",
  "name": "MY_ELEMENT",
  "array": true,
  "columns": [
    {
      "name": "_id",
      "type": "MongoDB ObjectID",
      "formula": ""
    },
    {
      "name": "ID_PERSON",
      "type": "Regular Expression",
      "value": "\\d{8}",
      "formula": ""
    },
    {
      "name": "ID_GENDER",
      "type": "Dataset Column",
      "dataset": "gender",
      "column": "ID_GENDER",
      "selectionStyle": "random",
      "formula": ""
    },
    {
      "name": "N_GENDER",
      "type": "Dataset Column",
      "dataset": "gender",
      "column": "N_GENDER",
      "selectionStyle": null,
      "formula": ""
    }
   ]
}

How to add "intelligent" to our data

Almost of kind of data can be simulated in Mockaroo, but some of the cannot be simulated, or they have some restrictions that cannot be done without a little programming.

For that can be used the formula field:

Formula field

These formula fields have to be programming in Ruby.

Formula field detail

Bellow, there are a bunch of funtions that are usually used with Mockaroo:

1.) Get the timestamp from a date

my_date = field('ANALISYS_DATE')
my_date.to_time.to_i

2.) Sort data The field MEDICAL_REVISIONS is an array of elements, one of field of this element is ANALISYS_DATE. For sorting by this field:

revisions_list = field('MEDICAL_REVISIONS')
revisions_list.sort_by { |element| element['ANALISYS_DATE'].to_i }

3.) Convert a date to another format

birth_dateFormated = birth_date.strftime("%FT%TZ")

4.) Add days to a date

a_few_days = random(1, 10)
my_date_with_few_days_more = field('MY_DATE') + days(a_few_days)

5.) Concat elements

prefix = "https://randomuser.me/portraits/"
sufix = ".jpg"
gender_code = field("ID_GENDER")
if (gender_code == "1") then path = "men" else path = "women" end
id = random(1, 99)
concat(prefix, path, "/", id, sufix)

6.) Get the last element from an array of elements

last_element = field('MEDICAL_REVISIONS').last
imc_from_last_element = last_element['IMC']

7.) Get the last element from an array of elements that is ordered by a field

revisions = field('MEDICAL_REVISIONS')
sortedRevisions = revisions.sort_by { |element| element['ANALISYS_DATE'].to_i }
lastRevision = sortedRevisions.last
lastRevision['TAD']

8.) Checking the length of a field value

if field('RESTRITION').length >0 then 'Yes' else 'No' end

9.) A well formed NIF (Spanish ID) or NIE (Spanish ID for non European Union Residents)

letters = "TRWAGMYFPDXBNJZSQVHLCKET"
lettersNIE = "XYZ"

if (field('DOCUMENT_TYPE') == 'NIE') 
then 
	id = this[1..-1] 
else 
	id = this 
end

if (field('DOCUMENT_TYPE') == 'NIE') 
then 
	positionNIE = id.to_i % 3 
end

if (field('DOCUMENT_TYPE') == 'NIE') 
then 
	letterNIE = concat(lettersNIE[positionNIE],'-') 
else 
	letterNIE = '' 
end
	
position = id.to_i % 23

lastLetter = letters[position]

concat(letterNIE, id, '-', lastLetter)

10.) Convert an integer number to string

this.to_s

Mock data

When the schema is built, it is time to download the mock data.

It can be downloaded in a good bunch of formats:

Download formats

mockaroo-help's People

Contributors

sergioescudero avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

mockaroo-help's Issues

Download button not working on MacOs Ventura v13.3

I wanted to generate a simple dataset to demo some software i'm writing.
When i click preview, the data is generated successfully, but when i click download button nothing happens.

I tried it using both Safari and Google chrome.

Thanks

I just want to say thanks for this repo :D

Download Data button does nothing

I've made up a schema (all numbers) but the Download Data button does absolutely nothing. Cloning the schema does work, but the Download button doesn't work on the clone either. Signing in doesn't make a difference either. I checked the Downloads page and it says there's no data to download - then I head back to the original page and my entire schema is lost. Preview does nothing either.

I'm on Google Chrome on Windows 11, with ad-blockers turned off.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.