alchemymvc
v1.4.0-alpha.8
Published
MVC framework for Node.js
Downloads
108
Readme
Getting started
You can create a new, empty app by executing this npm command:
npm init alchemy your-app-name
Then npm install
the package.json contents.
This is only alchemymvc
by default.
Installation
Just installing the npm package can be done like this:
$ npm install alchemymvc
Quick start guide
You can find all the documentation on https://alchemy.elevenways.be
Base class
Most Alchemy classes inherit from the Base
class (which in turn inherits from the Informer
class, a custom event emitter class)
Here are some important static methods:
Base.setProperty([key,] getter, setter)
This will create a property getter/setter on the class. For example:
MyClass.setProperty(function test_me() {
return 'test!'
});
Will create a property getter called 'test_me' that will always return the string "test!"
var instance = new MyClass();
instance.test_me;
// »»» "test!"
Base.setMethod([key,] fnc)
This will add a method to the class. For example:
MyClass.setMethod(function testMe() {
return 'test!'
});
Now you can call this method:
var instance = new MyClass();
instance.testMe();
// »»» "test!"
Models
Creating a server-side model is easy, you need to inherit from the Alchemy.Model.App
:
var Block = Function.inherits('Alchemy.Model.App', function Block(conduit, options) {
Block.super.call(this, conduit, options);
});
Model schema
After that you probably want to define the schema to use, that has to be done in a constitute
call:
Block.constitute(function addFields() {
// Add a simple unique string field
this.addField('name', 'String', {unique: true});
// Another string field, that is not unique
this.addField('title', 'String');
// Longer piece of text
this.addField('content', 'Text');
});
By default 3 fields are already added to the schema:
- _id: An ObjectID field
- created: A datetime field with the creation date
- updated: A datetime field that gets updated whenever the record is saved
Authors
AlchemyMVC is developed at Eleven Ways, a team of IAAP Certified Accessibility Specialists.