---
# System prepended metadata

title: 'Uso de la libreria Fakeit para generar datos aleatorios y almacenarlos en firebase automaticamente, y para generar archivo JSON'
tags: [Node, FakeIt, JScript, Firebase, JSON, Manipular Textos]

---

###### tags: `JScript` `Manipular Textos` `Node` `Firebase` `FakeIt` `JSON`

# Uso de la libreria Fakeit para generar datos aleatorios y almacenarlos en firebase automaticamente, y para generar archivo JSON


Se debe instalar la libreria `fakeit`.
Se utiliza el servicio de autenticación de la aplicación con firebase

Para generar los datos, desde la linea de comando se ejecuta el codigo `node archivo.js`

PDT: Firebase no permite exportar los datos de las bases de dato firestore a menos que tengas el plan de pago, si se necesita los datos en un archivo JSON para utilizarlo en otra base de datos, abajo se explica como generar con el mismo servicio.

```
const admin = require('firebase-admin');
// const envir = require('../src/environments/environment');

//Importación de Service acount de la base de datos
var serviceAccount = require("./serviceAccount.json");
//admin.initializeApp(envir.environment.firebaseConfig);
//Se debe inicializar con los datos de la base de datos
admin.initializeApp({ credential: admin.credential.cert(serviceAccount) });

const faker = require('faker');
faker.locale = "es";
const db = admin.firestore();
var srt;
//** Genera los datos aleatorios para la tabla Expedientes */
const fakeIt = () => {
  return db.collection('datos').add({
    idExpediente: faker.address.zipCode(),
    ccSolicitante: faker.address.zipCode() + faker.address.zipCode(),
    nombrePredio: recortador(),
    nombreSolicitante: faker.name.findName( ),
    numeroTomos: Math.floor(Math.random() * 2) + 1,
    enPrestamo: false,
  });
}

// Se utiliza un funcion para obtener la ultima // palabra de la cadena de texo generada por // // faker.address.streetAddress()

function recortador() {
  this.srt = faker.address.streetAddress();
  return this.srt.split(' ')[2];
}

// Se generan 20 registros de los datos

Array(20).fill(0).forEach(fakeIt); 

```


## Este ejemplo genera los datos y los guarda en un archivo JSON en la ruta principal del proyecto


Se debe instalar la libreria `fakeit`.
Se utiliza el servicio de autenticación de la aplicación con firebase

Para generar los datos, desde la linea de comando se ejecuta el codigo `node archivo.js`



```
// Con este archivo se generan datos aleatorios json
// debe tener instalada la libreria faker
// ejecutar node guardar_json.js
// el archivo json generado se guarda en la ruta principal del proyecto

const faker = require('faker');
const fs = require('fs')
faker.locale = "es";

let srt;

function generateUsers() {

  let users = []

  for (let id=1; id <= 10; id++) {

    let idExpediente = faker.address.zipCode();
    let ccSolicitante = faker.address.zipCode() + faker.address.zipCode();
    let nombrePredio = recortador();
    let nombreSolicitante = faker.name.findName();
    let numeroTomos = Math.floor(Math.random() * 2) + 1;
    let enPrestamo = false;

    users.push({
        "id": idExpediente,
        "cc_solocitante": ccSolicitante,
        "nombre_predio": nombrePredio,
        "nombre_solicitante": nombreSolicitante,
        "tomos": numeroTomos,
        "prestado": enPrestamo,
      });
  }

  return { "data": users }
}

function recortador() {
  this.srt = faker.address.streetAddress();
  return this.srt.split(' ')[2];
}

let dataObj = generateUsers();

fs.writeFileSync('data.json', JSON.stringify(dataObj, null, '\t'));
```