Giter Site home page Giter Site logo

vulpejs's Introduction

Vulpe JS

Open-Source Full-Stack solution to Node.js applications with Express.js, Jade, Angular.JS and MongoDB.

Install

Add VulpeJS dependency in your package.json:

...
"vulpejs": "~0.0.6",
...

And run install:

npm install

Enjoy!

Examples

Creating a Simple CRUD

  • Add Model

models/city.js

"use strict";

/**
 * Create City Model
 * @returns {Object} Model
 */
module.exports = vulpejs.models.make({
  name: 'City',
  schema: {
    name: {
      type: String,
      required: true
    },
    acronym: {
      type: String,
      required: true
    },
    status: {
      type: String,
      required: true,
      'default': 'ACTIVE',
      enum: ['ACTIVE', 'INACTIVE']
    },
    modified: {
      type: Date,
      'default': Date.now
    },
    user: {
      type: vulpejs.mongoose.Schema.Types.ObjectId,
      ref: 'User'
    }
  }
});
  • Add Route

routes/city.js

"use strict";

/**
 * Create City Routes
 * @returns {Object} Express Router
 */
module.exports = vulpejs.routes.make({
  name: 'city',
  plural: 'cities',
  save: {
    data: ['name', 'acronym']
  },
  ui: {
    controller: {
      name: 'City',
      service: {
        plural: 'cities',
        predicate: 'name',
        focus: 'name',
        messages: {
          validate: {
            exists: 'City already exists.'
          }
        },
        model: {
          name: '',
          acronym: '',
          status: 'ACTIVE'
        }
      }
    },
    minicolors: true,
    main: {
      title: 'City',
      inputs: [{
        type: 'text',
        name: 'name',
        label: 'Name',
        capitalizeFirst: true,
        required: true
      }, {
        type: 'text',
        name: 'acronym',
        label: 'Acronym',
        upperCase: true,
        required: true
      }]
    },
    select: {
      title: 'City List',
      filter: {
        search: {
          colspan: 2
        },
        status: {
          colspan: 2,
          items: [{
            value: 'ACTIVE',
            label: 'Active'
          }, {
            value: 'INACTIVE',
            label: 'Inactive'
          }]
        }
      },
      items: [{
        name: 'name',
        label: 'Name',
        width: '55%'
      }, {
        name: 'acronym',
        label: 'Acronym',
        width: '10%'
      }, {
        name: 'status',
        className: 'text-center',
        images: [{
          name: 'status-online.png',
          showIf: "vulpejs.equals(selectItem, 'status', 'ACTIVE')",
          title: 'Active'
        }, {
          name: 'status-offline.png',
          showIf: "vulpejs.equals(selectItem, 'status', 'INACTIVE')",
          title: 'Inactive'
        }],
        label: 'Status',
        width: '10%'
      }, {
        label: 'Actions',
        width: '25%'
      }],
      actions: []
    }
  }
});
  • Run it

npm start and http://localhost:3000/city

vulpejs's People

Contributors

geraldofelipe avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.