Node.js : Usando Express.js y MySQL con bookshelf.js

A continuación realizaremos un CRUD con node usando express y mysql y el framework bookshelf.

Este tutorial esta basado en Building a simple API with Express and Bookshelf.js realizado por blog.ragingflame

Creamos un carpeta con el nombre de la app y entramos en dicha carpeta:

$ mkdir express-mysql && cd express-mysql

Iniciamos nuestro package.json

$ npm init -y

Instalamos nuestras dependencias en caso de ocupar permisos usar sudo

 $ sudo npm i express -S
$ sudo npm i mysql -S
$ sudo npm i bookshelf -S
$ sudo npm i knex -S
$ sudo npm i when -S
$ sudo npm i lodash -S
$ sudo npm i body-parser -S
 # Instalamos dependencias de desarrollo, 
# nodemon lo usaremos para escuchar los cambios del servidor.

$ sudo npm i nodemon -D

Contenido de la carpeta express-mysql

- package.json
- knexfile.js
- app.js
- api/
- collections/
- categories.js
- posts.js
- tags.js
- users.js
- commons/
- bookshelf.js
- controllers/
- categories.js
- posts.js
- users.js
- migrate/
- migrate.js
- models/
- category.js
- post.js
- tag.js
- user.js
- routes/
- index.js
- schema/
- schema.js

Configuración de la conexión => knexfile.js

Conexión a la BD => api/commons/bookshelf.js

Esquema de la BD => api/schema/schema.js

Migración de la BD => api/migrate/migrate.js

Ejecutamos la migración para crear la base de datos desde la terminal

El servidor mysql deberá estar encendido (MAMP/Xamp/etc)

$ node api/schema/schema.js

Creamos nuestros modelos

Modelo de categoria => api/models/category.js

Modelo de post => api/models/post.js

Modelo de etiqueta => api/models/tag.js

Modelo de usuario => api/models/user.js

Colecciones

Colección de categorias => api/collections/categories.js

Colección de posts => api/collections/posts.js

Colección de etiquetas => api/collections/tags.js

Colección de usuarios => api/collections/users.js

Controllers

Categorias => api/controllers/categories.js

Posts => api/controllers/posts.js

Usuarios => api/controllers/users.js

Rutas

api/routes/index.js

Server

app.js

Iniciar server

$ npm start

Usa postman para las consultas a la API, puedes bajar el repositorio de gitHub :)

Show your support

Clapping shows how much you appreciated Oscar Oceguera’s story.