New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

exseed

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

exseed

A highly extensible nodejs framework

latest
Source
npmnpm
Version
0.2.2
Version published
Maintainers
1
Created
Source

Exseed

Build Status npm version Code Climate Dependency Status

A highly extensible nodejs framework

Features

  • Highly Extensible
  • Easy to Use
  • Full Stack
  • ORM Integrated
  • ES6/ES7 Syntax
  • Isomorphic

Workflow & Implementation Details

ItemChoice
Build ToolWebpack
AutomationGulp
BackendNode, Express(>=4.0.0)
ORMWaterline
FrontendReact, Redux/Alt, React-Router
TestingMocha
CITravis CI

Compare to Other Frameworks

ExseedExpressKoaSailsHapi
Extensibility★★★★★★★★★★★★★★☆★★★★☆★★★★☆
Threshold★★★☆☆★★☆☆☆★★★☆☆★★★★☆★★☆☆☆
Build Speed★★★★★★☆☆☆☆★☆☆☆☆★★★★☆★☆☆☆☆
Full Stack
ORM
Modern Syntax
Isomorphic

Usage

  • Install CLI
$ npm install -g exseed-cli
$ cd exseed-boilerplate
$ npm install
  • Run it
$ sd build --watch
$ sd init
$ sd serve

Example - Todo List

  • File Structure
- <project root>
----- settings.js
----- exseed.core/
----- todoapp/
--------- settings.js
--------- models.js
--------- routes.js
--------- flux/
------------- boot.js
------------- routes.js
------------- views/pages/MainPage.js
----- <other_app_1>/
----- <other_app_2>/
----- <other_app_n>/
  • Update installed apps

Tell exseed what apps you want to use

// settings.js

export default {
  installedApps: [
    './exseed.core',
    // other apps
    './todoapp',
  ],
  // other settings
};
  • The server side
// todoapp/settings.js

export default {
  name: 'todo',
};
// todoapp/models.js

export const todolist = {
  identity: 'todolist',
  attributes: {
    content: {
      type: 'string',
      required: true,
    },
  },
};
// todoapp/routes.js

import { models } from 'exseed';

export default function routes({ app }) {
  app.get('/api/todolist', (req, res) => {
    models.todolist
      .find()
      .then((todolist) => {
        res.json(todolist);
      });
  });

  app.post('/api/todolist', (req, res) => {
    models.todolist
      .create(req.body.todo)
      .then((todo) => {
        res.json(todo);
      });
  });
}
  • The client side

All react related files are inside todoapp/flux folder

// todoapp/flux/boot.js

import React from 'react';
import { render } from 'react-dom';
import { Router, browserHistory } from 'react-router';
import routes from './routes';

render(
  <Router history={browserHistory}>
    {routes}
  </Router>
, document.getElementById('exseed_root'));
// todoapp/flux/routes.js

import React from 'react';
import { Route, IndexRoute } from 'react-router';

import settings from '../settings';
import MainPage from './views/pages/MainPage';

export default (
  <Route path="/todo" component={MainPage} EXSEED_APP_NAME={settings.name} />
);
// todoapp/flux/views/pages/MainPage.js

import React from 'react';
import BaseLayout
from '../../../../exseed.core/flux/views/layouts/BaseLayout';

export default class MainPage extends React.Component {
  ...

  render() {
    const scripts = [
      'https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js',
      '/todo/js/bundle.js',
    ];

    return (
      <BaseLayout
        title="Exseed - Todo"
        scripts={scripts}>
        <h1>Todo</h1>
        <input
          type="text"
          onKeyDown={this.handleKeyDown.bind(this)}
          onChange={this.handleChange.bind(this)}
          value={this.state.content} />
        <ul>
          {this.state.todos.map(todo => (
            <li key={todo.id}>
              {todo.content}
            </li>
          ))}
        </ul>
      </BaseLayout>
    );
  }
};

See the complete todo app

Docs

Keywords

node

FAQs

Package last updated on 16 Feb 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts