Como empezar un proyecto de Nodejs usando Typescript

Typescript es un lengutaje muy util para mejorar la forma de excribir nuestro codigo JavaScript. Por defecto Node trabaja con JavaScript, por lo que para que TypeScript pueda funcionar en Node, es necesario realizar ciertas configuraciones.

Aca veremos como crear un punto de partida para un proyecto Nodejs. Desde cero.

Primero creamos un directorio/carpeta en cualquier lugar de nuestro S.O. Y accedemos a dicha carpeta

Yo estare usando Windows10.

mkdir project-name && cd project-name/

Listo, ahora vamos a iniciar un projecto node en nuestra carpeta. Esto se hace creando un archivo package.json en la raiz del proyecto(dentro de la carpeta del projecto).

Esto lo hacemos con el siguiente comando

npm init -y

este comando nos creara un archivo package.json con un contenido basico. Similar al siguiente:

{
  "name": "project-name",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "example_user",
  "license": "ISC"
}

Ahora debemos instalar TypeScript de manera global en el S.O. y tambien de manera local en el proyecto.

Para instalarlo de manera global sera necesario ejecutar la consola/terminal con permisos de administrador.

npm i -g typescript

De manera local como dependencia de desarrollo:

npm i typescript --save-dev

Nuestro archivo package.json deberia quedar asi:

{
  "name": "project-name",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "example_user",
  "license": "ISC",
  "devDependencies": {
    "typescript": "^4.9.4"
  }
}

Perfecto, con esto tenemos typescript instalado en el S.O. y en nuestro proyecto. esto nos permite usar el compilador de TypeScript(TypeScript Complier) en nuestra terminal.

tsc

Listo, ahora debemos crear el archivo de configuracion de Typescript:

tsc --init

Este comando nos creara un archivo llamado tsconfig.json. Este es un archivo de configuracion que indicara al compilador de TypeScript como debe compilar nuestros archivos .ts de nuestra aplicacion.

Aparareceran muchas opciones comentadas. De todas las opciones, vamos a descomentar las siguientes:

"moduleResolution": "node",
"sourceMap": true,
"outDir": "./dist",

Cada opcion tiene un comentario que explica su funcionamiento y que es lo que hacen.

Ahora creamos un archivo index.ts de prueba en la raiz de nuestro proyecto. Este archivo es necesario porque en nuestra aplicacion debe haber al menos un archivo .ts sino el compilador no encontrara nada que compilar.

// index.ts
export cons nombre = 'Test'

console.log(nombre)

Listo, con esto ejecutamos el compilador de TypeScript:

tsc

Esto leera el archivo de configuracion y compilara la aplicacion, dejando el resultado de la compilacion en una nueva carpeta llamada ./dist.

Y dentro de la carpeta dist un archivo llamado index.js, que contendra el resultado de la compilacion de nuestra aplicacion.


Importante: Cada vez que realicemos algun cambio en el codigo, o algun cambio en un archivo .ts y querramos ver el resultado, sera necesario compilar con el comando tsc.


Ahora vemos si todo funciono. ejecutamos el siguiente comando

node ./dist/index.js
// output: Test

Y LISTO!

Tenemos nuestro proyecto node configurado para trabajar con TypeScript!

Ahora a crear algo increible!


BONUS!

Podemos agrergar un linter para agregar reglas adicionales a nuestro proyecto. estas reglas nos ayudaran a que todo el equipo trabaje con las mismas condiciones y mismos estandares.

Instalmos una nueva dependencia en nuestro proyecto

npm i tslint --save-dev

Una vez instalada la dependencia, creamos un archivo de configuracion para tslint. Ejecutamos el siguiente comando.

./node_modules/.bin/tslint --init

Esto nos deberia crear un archivo llamado tslint.json en la raiz de nuestro projecto. Aqui vamos a agregar una configuracion adicional. Y quedara nuestro archivo de la siguiente manera:

{
    "defaultSeverity": "error",
    "extends": [
        "tslint:recommended"
    ],
    "jsRules": {},
    "rules": {
        "no-console": false
    },
    "rulesDirectory": []
}

Lo que hicimos fue agregar una regla(rule), que indica que no se mostraran los errores en la consola.

Perfecto!

Como crear entidades usando el ORM Doctrine de PHP

Una entidad no es mas que un archivo en el proyecto. Este archivo contiene una clase. El nombre de la clase es el nombre de la entidad.

Cada entidad estara directamente acoplada con una tabla de la base de datos. Cada propiedad de la clase sera un campo en la tabla de la base de datos correspondiente.

Primero creamos un archivo llamado User.php. Este archivo estara dentro del namespace Application\Entities;

<?php 

namespace Application\Entities;

class User 
{   
}

Ahora usamos la clase ORM de Doctrine. Y acoplamos la clase User con la tabla ‘users’ de base de datos. Es importante tener intalados los siguientes paquetes en el proyecto:

composer require doctrine/orm doctrine/annotations

<?php 

namespace Application\Entities;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="users")
 **/
class User 
{
}

La clase quedo acoplada al nombre de la tabla users. Importante tambien indicar que sera una entidad de doctrine con el comentario(anotacion) @ORM\Entity.

Luego procedemos a agregar una propiedad por cada campo de la tabla users.

En este caso empezaremos por el campo ‘id’, el cual es primary key(@ORM\id), auto-incremental(@ORM\GeneratedValue) y de tipo integer(@ORM\Column(type=»integer»)).

<?php 

namespace Application\Entities;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="users")
 **/
class User 
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     **/
    protected $id;
}

Teniendo ya todas las propiedades con sus respectivos getters y setters, procedemos a ejecutar un comando para crear la entidad(tabla) en la base de datos.

php vendor/bin/doctrine orm:schema-tool:create

Este comando creara la tabla con todas las caracteristicas que le indicamos en la clase de la entidad.

Como usar Postman

Postman es una herramienta para realizar peticiones HTTP.

Hay muchas cosas que nos ayudan a ser mas eficientes usando esta herramienta.

Al momento de realizar peticiones de tipo POST/PUT/PATCH/DELETE. Basicamente cualquier peticion HTTP que pueda enviar un cuerpo(Body) en la solicitud.

En este espacio podemos usar ‘variables’ propias de Postman, los cuales nos facilitan la creacion rapida de ciertos campos de manera aleatoria.

Aca un ejemplo para generar emails de manera aleatoria:

En este ejemplo se puede ver la variable $randomExampleEmail, la cual nos genera automaticamente y de manera aleatoria un email.

Mi primer Post

La idea principal de este blog es ir creando articulos referentes a tecnologia, especificamente Desarrollo de Software.

Tengo mas de 5 años de experiencia, y me he dado cuenta lo util que puede ser redactar lo aprendido.

Definitivamente es una herramienta muy poderosa.

Por lo cual este sera el inicio de mis redacciones personales.

Espero poder redactar de la mejor manera. Si no es asi, pues me sirve de practica para escribir regularmente.

El escribir es una actividad terapeutica. Hasta cierto punto. Y considero desarrolla la habilidad de expresarse mejor.

Expresar mejor las ideas. Poder darse a entender a otras personas. Y pues es un poco divertido.

Por lo que me estoy dando cuenta. Este blog no sera 100% de tecnologia jajajaja

Pues es mi blog. Asi que no hay reglas al respecto.

Vamos hacia adelante. Ya veremos como avanza todo.

Primer articulo. Completado!

Oxas App

Pertenecer a la comunidad que se dedica al comercio electrónico, en menor o mayor escala, puede resultar complicado al principio, pero sumamente gratificante una vez que entendemos las sutilezas de los MarketPlace. Contar con un apoyo al momento de llevar un emprendimiento es determinante para el éxito de nuestra propuesta. Medios que nos hagan más fácil manejar los pequeños detalles que hacen la diferencia entre un cliente satisfecho y una calificación negativa en nuestra tienda virtual.
Oxasapp es una aplicación que busca ayudarnos a estandarizar y mejorar nuestra capacidad de respuesta como emprendedor electrónico, lo cual nos ayudará en el posicionamiento de nuestra marca y por ende el aumento en las ventas efectivas, lo cual resulta en el aspecto mas importante de cualquier empresa: la satisfacción y fidelidad del cliente.
En el comercio electrónico continuamente se crean y mejoran los medios y servicios alternos que lo enriquecen y hacen mas productivo y seguro. Así, la recolección y manejo de información estadística acerca de nuestros productos y los consumidores, la interacción entre ambos y conocer las tendencias el mercado, nos llevará a ahorrar tiempo, ahorrar dinero, vender más y cumplir con la meta de llenar las expectativas de nuestros usuarios. Cuando comprendamos que el tiempo y satisfacción de las personas son el recurso mas poderoso, y contando con herramientas para ayudarnos a reducir la carga de trabajo manual y el margen de error humano, seremos más productivos y exitosos.

Diseña un sitio como este con WordPress.com
Comenzar