alchemymvc

1.3.22 • Public • Published

Alchemy logo Alchemy


A node.js MVC framework
Coded with ❤️ by Eleven Ways.

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.

Readme

Keywords

Package Sidebar

Install

npm i alchemymvc

Weekly Downloads

5

Version

1.3.22

License

MIT

Unpacked Size

1.16 MB

Total Files

139

Last publish

Collaborators

  • skerit