{"_id":"expressjsmvc","_rev":"50-895fc39771afe3b71e64f1b51e5ead42","name":"expressjsmvc","time":{"modified":"2022-06-17T22:50:05.411Z","created":"2014-03-01T23:11:52.071Z","3.4.8":"2014-03-01T23:11:53.394Z","3.4.9":"2014-03-01T23:41:24.675Z","3.4.10":"2014-03-01T23:45:28.997Z","3.4.11":"2014-03-01T23:47:24.477Z","3.4.12":"2014-03-02T00:05:32.283Z","3.4.13":"2014-03-02T00:12:37.138Z","3.4.14":"2014-03-02T00:59:02.832Z","3.4.15":"2014-03-02T04:16:05.892Z","3.4.16":"2014-03-08T03:56:16.487Z","3.5.1":"2014-04-01T03:53:05.656Z"},"description":"An Express.js application organized in an MVC way with extra helpers and utilities","readme":"Express MVC is an Express.js framework organized in an MVC way with extra helpers and utilities.\n\nThe goal of ExpressMVC is to simplify common tasks and make your application more modular, but at the same time, not creating another framework or a different community. \n\n### Install\n\n\tnpm install -g expressjsmvc\n\n### Create your application\n\n\texpressjsmvc create application-name\n\n### Install required packages\n\n\tcd application-name && npm install\n\n### Download the components defined in expressjsmvc.json and install dependencies\n\t\n\texpressjsmvc install\n\n### Start your application\n\t\n\tnode start.js\n\n### Features\nExpressMVC offers some features out of the box that you might find interesting:\n\n#### Modular structure\nExpressMVC lets you organize your application in components that you can reuse. This components are organized in controllers, models and views and file to define your routes.\n\nStructure of a component\n\n\t/components/blog\n\t\t/controllers\n\t\t\tindex.js <- This file contains your controller\n\t\t/models\n\t\t\tindex.js <- This file contains the models for your component\n\t\t/views\n\t\t\tblogPage.jade <- This file is a blog page\n\t\tindex.js <- Define your routes here\n\n#### Views separation\nWith ExpressMVC you can separate your views and package them into your components. You can access your /views directory without having to use relative paths, example:\n\n\tinclude /layout\n\n#### Easy require for both components, libraries and \nYou can require any component from other components as long as you organize your components in the propossed structure. See an example in the frontpage component.\n\n#### Event driven \nExpressMVC lets you bind events to the application and trigger them from anywhere really easy.\n\nExample\n\n\tvar include = require(\"includemvc\");\n\tvar app = include.app();\n\n\tapp.on(\"myevent\", function(data) {\n\t\tconsole.log(data);\n\t})\n\n\tapp.emit(\"myevent\", {title: \"Hello World\"});\n\n#### Bower ready\nThe framework comes out of the box with a bower file so you can run bower install and automatically include jQuery, Bootstrap, Backbone.js and Underscore.js\n\n#### Module package manager\nExpressMVC provides you with an easy way to define the needed components by your application. Define the components you need to download in expressjsmvc.json. We use git to download the components so you need to have it installed first. All defined components will be downloaded into the components directory.\n\n#### Enable or disable components easily\nForget about requiring your components in your application, all you need to do is add them to the config.components array and they will be enabled.\n\n### ToDo\n- download components dependencies\n\n### License\nThe MIT License (MIT)\n\nCopyright (c) [2014] [Luis Elizondo]\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","maintainers":[{"name":"luiselizondo","email":"lelizondo@gmail.com"}],"versions":{"3.4.9":{"name":"expressjsmvc","description":"An Express.js application organized in an MVC way with extra helpers and utilities","version":"3.4.9","author":{"name":"Luis Elizondo","email":"lelizondo@gmail.com"},"scripts":{"start":"node start.js"},"keywords":["express","framework","sinatra","web","mvc","expressmvc"],"dependencies":{"connect":"2.12.0","commander":"1.3.2","range-parser":"1.0.0","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.1","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.7.3 < 1","git-wrapper2":"0.2.5"},"repository":{"type":"git","url":"git://github.com/luiselizondo/expressmvc"},"engines":{"node":">= 0.8.0"},"main":"index","bin":{"expressmvc":"./bin/expressmvc"},"license":"MIT","bugs":{"url":"https://github.com/luiselizondo/expressmvc/issues"},"_id":"expressjsmvc@3.4.9","dist":{"shasum":"cf5b8914bc498e8060f1eb9017db7dd0f3768bb7","tarball":"https://registry.npmjs.org/expressjsmvc/-/expressjsmvc-3.4.9.tgz","integrity":"sha512-eCmJ1e2QJ05GrKduOz6R9CN/bPHDUGt5w4I6cBUeRydcrJJOIr/rzkKCtQjxd/v5ZUhfPBa//lKxFv+Z1/zyBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGSCrBS5XbRWeK7Gb5fPCx8L1JCI+NCTt7Q6J4jFU2uxAiBd6JrlRpZNpCDDKV1alfn7rohS+xKS9V1GkRGCaHs8aA=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"luiselizondo","email":"lelizondo@gmail.com"},"maintainers":[{"name":"luiselizondo","email":"lelizondo@gmail.com"}]},"3.4.10":{"name":"expressjsmvc","description":"An Express.js application organized in an MVC way with extra helpers and utilities","version":"3.4.10","author":{"name":"Luis Elizondo","email":"lelizondo@gmail.com"},"scripts":{"start":"node start.js"},"keywords":["express","framework","sinatra","web","mvc","expressmvc"],"dependencies":{"connect":"2.12.0","commander":"1.3.2","range-parser":"1.0.0","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.1","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.7.3 < 1","git-wrapper2":"0.2.5"},"repository":{"type":"git","url":"git://github.com/luiselizondo/expressmvc"},"engines":{"node":">= 0.8.0"},"main":"index","bin":{"expressmvc":"./bin/expressmvc"},"license":"MIT","bugs":{"url":"https://github.com/luiselizondo/expressmvc/issues"},"_id":"expressjsmvc@3.4.10","dist":{"shasum":"28cba026b12fec9ccb1f6c11f90242f39aa49ade","tarball":"https://registry.npmjs.org/expressjsmvc/-/expressjsmvc-3.4.10.tgz","integrity":"sha512-/NNvWbModgzxlxzXRJRJBa9dAntw/0OKbdKH+tXZ0Nu0s9iKT8k+MjFInlUZRqRFbNsF4XP881R65pZ7b7D0aQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDgESc26DWiegARbc3JsymhQ1ZsQK71P17pxIJqzSKXRQIgO/TbjsBGdT5l92ooTUBHjW/pkrQEerkpkDGoQMwtqCA="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"luiselizondo","email":"lelizondo@gmail.com"},"maintainers":[{"name":"luiselizondo","email":"lelizondo@gmail.com"}]},"3.4.11":{"name":"expressjsmvc","description":"An Express.js application organized in an MVC way with extra helpers and utilities","version":"3.4.11","author":{"name":"Luis Elizondo","email":"lelizondo@gmail.com"},"scripts":{"start":"node start.js"},"keywords":["express","framework","sinatra","web","mvc","expressmvc"],"dependencies":{"connect":"2.12.0","commander":"1.3.2","range-parser":"1.0.0","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.1","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.7.3 < 1","git-wrapper2":"0.2.5"},"repository":{"type":"git","url":"git://github.com/luiselizondo/expressmvc"},"engines":{"node":">= 0.8.0"},"main":"index","bin":{"expressmvc":"./bin/expressmvc"},"license":"MIT","bugs":{"url":"https://github.com/luiselizondo/expressmvc/issues"},"_id":"expressjsmvc@3.4.11","dist":{"shasum":"4a050a75b30ea46cf082661dc604744d1182d075","tarball":"https://registry.npmjs.org/expressjsmvc/-/expressjsmvc-3.4.11.tgz","integrity":"sha512-QqBpBhW2YMNim/ZOMLLS0KdL2DtxLn9KGiSAanUcw4gZz5enrglDQ05/DMVFzXo0R6KX1+6DOtJKwLzmlZpoaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFTrX7Xxqj05Kc9x7SzjOdh16/D/GRXPYe4WJnUpFgyrAiEA3l8ZbzI+9RahInVhWhZ9G3YRhd1S5In1C5PQ567u/XI="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"luiselizondo","email":"lelizondo@gmail.com"},"maintainers":[{"name":"luiselizondo","email":"lelizondo@gmail.com"}]},"3.4.12":{"name":"expressjsmvc","description":"An Express.js application organized in an MVC way with extra helpers and utilities","version":"3.4.12","author":{"name":"Luis Elizondo","email":"lelizondo@gmail.com"},"scripts":{"start":"node start.js"},"keywords":["express","framework","sinatra","web","mvc","expressjsmvc","expressmvc"],"dependencies":{"connect":"2.12.0","commander":"1.3.2","range-parser":"1.0.0","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.1","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.7.3 < 1","git-wrapper2":"0.2.5"},"repository":{"type":"git","url":"git://github.com/luiselizondo/expressjsmvc"},"engines":{"node":">= 0.8.0"},"main":"index","bin":{"expressjsmvc":"./bin/expressjsmvc"},"license":"MIT","bugs":{"url":"https://github.com/luiselizondo/expressjsmvc/issues"},"_id":"expressjsmvc@3.4.12","dist":{"shasum":"d76c7f1c354c117135b95a2d6eb0571d62d3f548","tarball":"https://registry.npmjs.org/expressjsmvc/-/expressjsmvc-3.4.12.tgz","integrity":"sha512-sRCC9IU4ZRKEZKtZxiEhYizr+E/yT/d1B6jycuQokugFHzxBUz5F5wUep4/MHQ28yMd/Fy7VVgmKQpaTkjWdpg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD+5A28lXYbhuFVWYSp9PilgsFeAzb0SdnWn3Ec/tXLygIgY0N4acDnTt08CPVWGBeLyZrfRD1jPn29+jRRk3bj1D4="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"luiselizondo","email":"lelizondo@gmail.com"},"maintainers":[{"name":"luiselizondo","email":"lelizondo@gmail.com"}]},"3.4.13":{"name":"expressjsmvc","description":"An Express.js application organized in an MVC way with extra helpers and utilities","version":"3.4.13","author":{"name":"Luis Elizondo","email":"lelizondo@gmail.com"},"scripts":{"start":"node start.js"},"keywords":["express","framework","sinatra","web","mvc","expressjsmvc","expressmvc"],"dependencies":{"connect":"2.12.0","commander":"1.3.2","range-parser":"1.0.0","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.1","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.7.3 < 1","git-wrapper2":"0.2.5"},"repository":{"type":"git","url":"git://github.com/luiselizondo/expressjsmvc"},"engines":{"node":">= 0.8.0"},"main":"index","bin":{"expressjsmvc":"./bin/expressjsmvc"},"license":"MIT","bugs":{"url":"https://github.com/luiselizondo/expressjsmvc/issues"},"_id":"expressjsmvc@3.4.13","dist":{"shasum":"1c6140c65f4e8353058e2ab5246749c0e9e3e8e6","tarball":"https://registry.npmjs.org/expressjsmvc/-/expressjsmvc-3.4.13.tgz","integrity":"sha512-7ryXY2Ruqr5dFaSQGfiXMiqOGiKUaNC8FNYQK6RNEToATMBm88+4hjyOvvkE8qE+r4CAx80SUup3Ll4ExCeZoA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHipXkpr5zwL9EzvA49O0gXf6bSKMGz2TCyi9dNoltudAiB6/LBCbSmnpFewqR2gtGfunkYpsxCCYMaXRbfwbHEfZg=="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"luiselizondo","email":"lelizondo@gmail.com"},"maintainers":[{"name":"luiselizondo","email":"lelizondo@gmail.com"}]},"3.4.14":{"name":"expressjsmvc","description":"An Express.js application organized in an MVC way with extra helpers and utilities","version":"3.4.14","author":{"name":"Luis Elizondo","email":"lelizondo@gmail.com"},"scripts":{"start":"node start.js"},"keywords":["express","framework","sinatra","web","mvc","expressjsmvc","expressmvc"],"dependencies":{"connect":"2.12.0","commander":"1.3.2","range-parser":"1.0.0","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.1","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.7.3 < 1","git-wrapper2":"0.2.5"},"repository":{"type":"git","url":"git://github.com/luiselizondo/expressjsmvc"},"engines":{"node":">= 0.8.0"},"main":"index","bin":{"expressjsmvc":"./bin/expressjsmvc"},"license":"MIT","bugs":{"url":"https://github.com/luiselizondo/expressjsmvc/issues"},"_id":"expressjsmvc@3.4.14","dist":{"shasum":"4a3969abc417b14f71d0dc7686ebb4c4367ef2f6","tarball":"https://registry.npmjs.org/expressjsmvc/-/expressjsmvc-3.4.14.tgz","integrity":"sha512-p9ZR6HH8F8FHVDVE68n0WU8Il/0fc3qDb8idTlSyzaa2lfbwvvUADIVTwK6JHIyIeWtJZNJLKovrSMmIzNwpGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBYf8/2dGJxYp1Yd8Ldhk++ecFxzodlP+gT02Kc9XYgQIgDCFKJS2r0qehB/gPARz4oqwCtvEhcXcVN7Uiv+k8D9w="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"luiselizondo","email":"lelizondo@gmail.com"},"maintainers":[{"name":"luiselizondo","email":"lelizondo@gmail.com"}]},"3.4.15":{"name":"expressjsmvc","description":"An Express.js application organized in an MVC way with extra helpers and utilities","version":"3.4.15","author":{"name":"Luis Elizondo","email":"lelizondo@gmail.com"},"scripts":{"start":"node start.js"},"keywords":["express","framework","sinatra","web","mvc","expressjsmvc","expressmvc"],"dependencies":{"connect":"2.12.0","commander":"1.3.2","range-parser":"1.0.0","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.1","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.7.3 < 1","git-wrapper2":"0.2.5","colors":"0.6.2"},"repository":{"type":"git","url":"git://github.com/luiselizondo/expressjsmvc"},"engines":{"node":">= 0.8.0"},"main":"index","bin":{"expressjsmvc":"./bin/expressjsmvc"},"license":"MIT","bugs":{"url":"https://github.com/luiselizondo/expressjsmvc/issues"},"_id":"expressjsmvc@3.4.15","dist":{"shasum":"84c86897fb9452e85f15d930d084f412ccbb2726","tarball":"https://registry.npmjs.org/expressjsmvc/-/expressjsmvc-3.4.15.tgz","integrity":"sha512-AYhs10sRliU5uM/wGn298nvu/jdyLE0ATaAwCxxxfX+wSRlCD9P51l0zyvMeNN0o3WRF+8BJK0t4QcY+1lDHxQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFZNoAcE/qEQNSNViiLjG/U6vREMe37luCtnYgZvpDpbAiEA99JstFnOmx1JynBr13ePqc3Ss+5t9II2WVkv1bRCg4w="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"luiselizondo","email":"lelizondo@gmail.com"},"maintainers":[{"name":"luiselizondo","email":"lelizondo@gmail.com"}]},"3.4.16":{"name":"expressjsmvc","description":"An Express.js application organized in an MVC way with extra helpers and utilities","version":"3.4.16","author":{"name":"Luis Elizondo","email":"lelizondo@gmail.com"},"scripts":{"start":"node start.js"},"keywords":["express","framework","sinatra","web","mvc","expressjsmvc","expressmvc"],"dependencies":{"connect":"2.12.0","commander":"1.3.2","range-parser":"1.0.0","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.1","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.7.3 < 1","git-wrapper2":"0.2.5","colors":"0.6.2"},"repository":{"type":"git","url":"git://github.com/luiselizondo/expressjsmvc"},"engines":{"node":">= 0.8.0"},"main":"index","bin":{"expressjsmvc":"./bin/expressjsmvc"},"license":"MIT","bugs":{"url":"https://github.com/luiselizondo/expressjsmvc/issues"},"_id":"expressjsmvc@3.4.16","dist":{"shasum":"e03b11bed828799932f1ef24d324d95d26ed59a6","tarball":"https://registry.npmjs.org/expressjsmvc/-/expressjsmvc-3.4.16.tgz","integrity":"sha512-RcJLADpQTUxhraFD4XaZuYhU2xZhr9uRm1NZGgDQBk6K/hKaLWOnIEjOLukJLV9Pb01w2eFUMO/eipPFRyG96g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaU0yOYH9/w1V+b8jdNZzD5lZ4LHWrsMEBXD7AB2Qw6AIgbiLhE3I42tuYnkUpfg3EqBBSPXYEwWCknCjozE6Ar2k="}]},"_from":".","_npmVersion":"1.3.11","_npmUser":{"name":"luiselizondo","email":"lelizondo@gmail.com"},"maintainers":[{"name":"luiselizondo","email":"lelizondo@gmail.com"}]},"3.5.1":{"name":"expressjsmvc","description":"An Express.js application organized in an MVC way with extra helpers and utilities","version":"3.5.1","author":{"name":"Luis Elizondo","email":"lelizondo@gmail.com"},"scripts":{"start":"node start.js"},"keywords":["express","framework","sinatra","web","mvc","expressjsmvc","expressmvc"],"dependencies":{"connect":"2.12.0","commander":"1.3.2","range-parser":"1.0.0","mkdirp":"0.3.5","cookie":"0.1.0","buffer-crc32":"0.2.1","fresh":"0.2.1","methods":"0.1.0","send":"0.2.0","cookie-signature":"1.0.3","merge-descriptors":"0.0.2","debug":">= 0.7.3 < 1","git-wrapper2":"0.2.5","colors":"0.6.2"},"repository":{"type":"git","url":"git://github.com/luiselizondo/expressjsmvc"},"engines":{"node":">= 0.8.0"},"main":"index","bin":{"expressjsmvc":"./bin/expressjsmvc"},"license":"MIT","bugs":{"url":"https://github.com/luiselizondo/expressjsmvc/issues"},"homepage":"https://github.com/luiselizondo/expressjsmvc","_id":"expressjsmvc@3.5.1","dist":{"shasum":"e25b62db66be85851c51454b695aea355baed546","tarball":"https://registry.npmjs.org/expressjsmvc/-/expressjsmvc-3.5.1.tgz","integrity":"sha512-K6JzrMqDY1ECdgnM1X1/o2OnuBZskVWpFAQHLg7rkbUfC/bugDi8vb3nWAmpH0Mi/r4z3AfFXUew56JIKyQd+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfY1AWCmYWq6UADW8fNiP9J4ReOgTCFQEYtkscU6jXfgIhANgON2Hid62aGHzZ8frgrfgal6jOk8zE7zD0cTsGWOb+"}]},"_from":".","_npmVersion":"1.3.14","_npmUser":{"name":"luiselizondo","email":"lelizondo@gmail.com"},"maintainers":[{"name":"luiselizondo","email":"lelizondo@gmail.com"}]}},"dist-tags":{"latest":"3.5.1"},"readmeFilename":"README.md","keywords":["express","framework","sinatra","web","mvc","expressjsmvc","expressmvc"],"repository":{"type":"git","url":"git://github.com/luiselizondo/expressjsmvc"},"author":{"name":"Luis Elizondo","email":"lelizondo@gmail.com"},"bugs":{"url":"https://github.com/luiselizondo/expressjsmvc/issues"},"license":"MIT","homepage":"https://github.com/luiselizondo/expressjsmvc"}