Proyecto Liqueed (2)

Published on Author lopez

Anterior Post
Siguiente Post

Como todo proyecto Node.js, el proyecto Liqueed, en

https://github.com/liquid-co-ops/liqueed

El contenido actual es:

{
  "name": "liqueed",
  "version": "0.0.2alpha",
  "private": true,
  "scripts": {
    "start": "node ./bin/www",
    "test": "simpleunit ./test ./testserver"
  },
  "dependencies": {
    "express": "~4.2.0",
    "static-favicon": "~1.0.0",
    "morgan": "~1.0.0",
    "cookie-parser": "~1.0.1",
    "body-parser": "~1.0.0",
    "debug": "~0.7.4",
    "ejs": "~0.8.5",
    "express-ejs-layouts": "^1.1.0",
    "ostore": "0.0.4",
    "simplelists": "0.0.4",
    "simpleasync": "0.0.5",
    "mongodb": "~1.4.19",
    "bcrypt-nodejs": "0.0.3",
    "express-session": "~1.9.3"
  },
  "devDependencies": {
    "simpleunit": "0.0.5",
    "simplejquery": "0.0.1",
    "zombie": "2.5.1"
  }
}

Es una aplicación privada, es decir, no se puede publicar en el repositorio público de npm.

Es una típica aplicación express, con código inicial generado con express-generator. El archivo bin\www tiene el código de lanzamiento de la aplicación. Tiene módulos express, como morgan, cookie-parser, body-parser, express-session, pero también algunos más que se usan en la implementación de la lógica interna del sistema:

– ostore: repositorio de simples objetos JavaScript en memoria, usado en varios tests y en la versión inicial, como persistencia en memoria, sin necesidad de usar una base de datos desde el principio.

– mongodb: el sistema final usa MongoDB como base NoSQL

– simplelists: un simple utilitario con funciones sobre listas (arreglos)

– simpleasync: una librería para encadenar llamadas asincrónicas sin morir en el intento.

– bcript-nodejs: módulo de encriptación escrito en JavaScript

Para los tests (armados siguiendo el flujo de trabajo de TDD, Test-Driven Development), uso:

– simpleunit: librería de test, basada en usar assert internamente, exportando los métodos a testear en cada archivo de test.

Para los tests de las páginas de la Single Page Application de public\index.html se usa:

– zombie: visita una página como si fuera un browser

Próximos temas en próximos posts: cómo está estructurada la lógica del servidor, los tests que se escribieron, exponer API, páginas MVC, persistencia, cliente SPA (Single Page Application).

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez