diff --git a/README.md b/README.md
index 3816eca..3dfca13 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,82 @@
-A sample command-line application with an entrypoint in `bin/`, library code
-in `lib/`, and example unit test in `test/`.
+
Dart JSON Generator
+Versión v1.1.1
+
+
+Dart JSON Generator es una herramienta que permite generar archivos JSON a partir de **mapas** como modelos de datos en el lenguaje Dart en su version **v2.18.2** o superior.
+
+
+# **¿Como funciona?**
+
+Primero debes instalar el SDK de Dart en tu equipo Mac, Linux o Windows. Puedes descargarlo desde [aquí](https://dart.dev/get-dart).
+
+ Nota: Si eres desarrollador Flutter, Dart ya viene instalado en tu equipo.
+
+Luego de instalar Dart, en la terminal de tu IDE de preferencia, debes ejecutar el siguiente comando:
+
+ > dart run
+
+## Crear modelos de datos
+
+Para crear un modelo de datos debes hacerlo dentro del archivo principal ```bin/generador_de_json.dart```, puedes llamar al metodo ```generateJson.generateJson()``` y en su parametro **jsonMap** debes pasarle un **mapa** con los datos que deseas convertir a JSON como en el siguiente ejemplo:
+
+```dart
+generateJson.generateJson(
+ jsonName: 'example',
+ jsonMap: {
+ ¨id¨: 1,
+ ¨name¨: ¨John Doe¨,
+ ¨age¨: 25,
+ ¨isDeveloper¨: true,
+ }
+);
+```
+El parametro **jsonName** es el nombre del archivo JSON que se generará, en este caso el archivo se llamará **example.json** y se almacenara en la carpeta ```lib/example.json```.
+
+Para generar un archivo JSON con un **array** de objetos debes hacerlo de la siguiente manera:
+
+```dart
+generateJson.generateJsonList(
+ jsonName: 'test_data',
+ jsonMap: (data) {
+ return List.generate(
+ 100, // Cantidad de objetos que se generaran
+ (index) => {
+ 'id': index,
+ 'name': util.generateRandomFemaleOrMaleName(),
+ 'lastName': util.generateRandomLastName(),
+ 'email': util.generateRandomEmail(),
+ 'avatar': util.generateRandomAvatarUrl(),
+ 'phone': util.generateRandomPhoneNumber(),
+ 'isShared': util.generateRandomBool(),
+ },
+ );
+ },
+ );
+```
+
+En este ejemplo se generará un archivo JSON con 100 objetos con los datos de una persona, también en el ejemplo se esta haciendo uso de la instancia **util** que es una clase que contiene metodos preestablecidos que generan datos aleatorios como nombres, apellidos, correos, etc.
+
+Si quieres generar tus propios metodos preestablecidos puedes hacerlo editando el archivo ```lib/utils/all_utils.dart```.
+
+Algunos de los metodos preestablecidos de los que puedes hacer uso son:
+
+- ```generateRandomBool()```
+ - Genera un valor booleano aleatorio.
+- ```generateRandomMaleName()```
+ - Genera un nombre masculino sin apellido aleatorio, pero si el parametro **isFullName** es **true** genera un nombre completo.
+- ```generateRandomFemaleName()```
+ - Genera un nombre femenino sin apellido aleatorio, pero si el parametro **isFullName** es **true** genera un nombre completo.
+- ```generateRandomFemaleOrMaleName()```
+ - Genera un nombre aleatorio masculino o femenino sin apellido, pero si el parametro **isFullName** es **true** genera un nombre completo.
+- ```generateRandomEmail()```
+ - Genera un correo electronico aleatorio.
+- ```generateRandomAvatarUrl()```
+ - Genera una url de una imagen aleatoria masculino o femenino.
+- ```generateRandomMaleAvatarUrl()```
+ - Genera una url de una imagen masculina aleatoria.
+- ```generateRandomFemaleAvatarUrl()```
+ - Genera una url de una imagen femenina aleatoria.
+- ```generateRandomPhoneNumber()```
+ - Genera un numero de telefono aleatorio.
+- ```generateRandomLastName()```
+ - Genera un apellido aleatorio.
\ No newline at end of file
diff --git a/bin/generador_de_json.dart b/bin/generador_de_json.dart
index a963a32..7a0f5c3 100644
--- a/bin/generador_de_json.dart
+++ b/bin/generador_de_json.dart
@@ -6,19 +6,31 @@ void main(List arguments) {
final AllUtils util = AllUtils();
// Instancia la clase que genera los json
final GenerateJson generateJson = GenerateJson();
+
+ /// Ejemplo de como generar un json con un solo dato
+ generateJson.generateJson(
+ jsonName: 'example',
+ jsonMap: (Map data) {
+ return {
+ 'id': 1,
+ 'name': util.generateRandomFemaleOrMaleName(isFullName: true),
+ 'email': util.generateRandomEmail(),
+ 'avatar': util.generateRandomAvatarUrl(),
+ };
+ },
+ );
+
+ /// Ejemplo de como generar un json con una lista de datos
generateJson.generateJsonList(
- jsonName: 'test_data',
- jsonMap: (data) {
+ jsonName: 'example_list',
+ jsonMap: (List