Skip to content

joelerll/i2solutions-web

Repository files navigation

Build Status Coverage Status codecov

I2Solutions Web

https://i2s-app.herokuapp.com/

Documentación

I2Solutions Documentación

Prerrequisitos

Nodejs >= 9.0.0

Mysql >= 3.6

Ubuntu 16.04 LTS

Development

Si se corre por primera vez

  1. Instalar las depedencias
yarn install
  1. Instalar las depedencias en el cliente. Ir a la carpeta client y ejecutar
yarn install
  1. Sacar su usuario de node. Para eso abrir el cmd y ejecutar el comando
node

Luego hacer lo siguiente

const os = require('os')
os.hostname()
'mi-usuario'

Esto de devolverá su usario que lo usará en el siguiente paso

  1. Cambiar el config file ubicado en api/config/db/config.js para que reconozca la base de datos de development, agregar el username y password de acuerdo a su configuración. Hacer un nuevo else if si es necesario
else if (usuario === 'mi-usuario') {
    return {
      'username': '',
      'password': '',
      'database': 'i2solutions_development',
      'host': '127.0.0.1',
      'logging': false,
      'dialect': 'mysql'
    }
  1. Cargar con data inicial
yarn db:init

Aplicación server

  1. En la carpeta root del proyecto hacer
> npm install
  1. Correr la aplicacion servidor
> npm run dev # correra en el puerto 3001
  1. Correr el cliente
> cd client
> yarn dev # correra en el puerto 3002
Commits

[Sprint #] "nombre_historia_usuario" Tarea(s) #

Ej: [Sprint 2] “Consultar Plan Nutricional (paciente)” Tarea #105, #106

squash commits

  1. Para subir a github se tiene que hacer squash
  1. Para subir a heroku hay que forzarlo por el squash, hacerlo si es necesario
git push heroku master --force

Generar modelos

node_modules/.bin/sequelize model:generate --name User --attributes firstName:string

Generar migrate

sequelize migration:create --name add-email-to-user

Correr las migraciones

yarn db:migrate

Testing

Tener instalado sqlite porque los test usan esta base de datos para por su rápidez

yarn test

Este comando verificará el standard de código y ademas generara la documentación de la api

Production

Establecer la variables de entorno:

  1. HEROKU=true
  2. DATABASE_HOST
  3. DATABASE_USER
  4. DATABASE_PASSWORD
  5. heroku config:set NPM_CONFIG_PRODUCTION=false

Authors

Joel Rodriguez

Links útiles

https://codeburst.io/sequelize-migrations-setting-up-associations-985d29b61ee7

http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html

https://gist.github.com/JoeKarlsson/ebb1c714466ae3de88ae565fa9ba4779

https://spacetelescope.github.io/understanding-json-schema/

http://corpus.hubwiz.com/2/node.js/21105748.html

http://docs.sequelizejs.com/manual/tutorial/migrations.html

https://stackoverflow.com/questions/21105748/sequelize-js-how-to-use-migrations-and-sync

https://github.com/sequelize/cli/blob/master/docs/README.md

https://gist.github.com/JoeKarlsson/ebb1c714466ae3de88ae565fa9ba4779

sequelize/sequelize#4074