Git Product home page Git Product logo

arrowjscore's Introduction

Build Status david DM Code Climate

==================

ArrowJS is framework based on Express.js. It helps you build your web application easier.

    'use strict';
    const Arrow = require('arrowjs');
    const application = new Arrow();
    application.start();

Installation

To get started with arrowjs install the arrowjs package:

$ npm install arrowjs --save

SET UP ARROWJS CORE


efea91df303101da3287591d67614e7d0aef6e0e

2 Ways To Use Arrowjs Core Module:

  1. Use the stable version in npm
  $ cd my-project
  $ npm i --save arrowjs
  // in your server.js 
  // require the module from npm
  const Arrow = require('arrowjs');
  const application = new Arrow();
  application.start(); 
  1. Try the latest version in development in github
  • Clone ArrowjsCore to your local computer so that you can refer to it later in your project
  $ cd /home/user/modules/
  $ git clone https://github.com/arrowjs/ArrowjsCore
  • After cloning it, you have to install all dependencies of ArrowjsCore so it can work properly
  $ cd ArrowjsCore/
  $ npm i
  • Now ArrowjsCore is local at '/home/user/modules/ArrowjsCore'
  // use it by referring to the ArrowjsCore folder
  // in server.js
  const Arrow = require('/home/user/modules/ArrowjsCore');
  const application = new Arrow();
  application.start(); 

Start your project - Run the server and listen on port 8000

  // open terminal in your project to install dependencies and start server
  $ npm i
  $ node server.js

SETUP ARROWJS PROJECT WITH GENERATOR

Generate sample Arrowjs project with generator-arrowjs

  • Yeoman is a tool that helps you easily generate/ create a complete project structure or templates
  • Each generator creates a project folder structure for each framework e.g. generator-express, generator-react
  • Arrowjs also has its own generator that provides a simple Arrowjs folder structure
// enter the folder you want to store your project
$ cd example

// install yo & generator-arrowjs
$ npm install -g yo generator-arrowjs

// generate sample project structure
$ yo arrowjs

// create feature menu for application my-project
cd my-project && yo arrowjs:feature menu

Generator-arrowjs steps by steps:

$ yo arrowjs

img

  • generator-arrowjs will give us a project structure as below. It quickly sets up the project with all necessary node modules
.
├── config
├── features
├── node_modules
├── package.json
├── package-lock.json
├── public
└── server.js
  • In config, you can write your own configurations such as change database config in development.js
  • Update your project structure in structure.js
  • Arrowjs Core includes many default configurations e.g. redis, passport for you to use readily
  • So your database config in development.js will overwrite default config in arrowjs core
// config/
.
├── env
│   └── development.js
└── structure.js
// update db config in config/env/development.js
    db: {
      host: 'localhost',
      port: '5432',
      database: 'arrowjs', // this database will automatically created when you runs the server the first time
      username: 'postgres',
      password: 'abc',
      dialect: 'postgres',
      logging: false
    } 
  • In features, one default component "index" is created
// features/index/
.
├── controllers
│   └── index.js
├── feature.js
├── route.js
└── views
    └── index.html

Easily add more features to the project

// create feature menu
$ cd my-project && yo arrowjs:feature menu

img

  • As seen above, you can also set up database model that goes with this feature e.g. quickly create a user table in database with 4 columns (id, username, user_email, user_pass)
  • Notes: the table is not immediately created at this moment but when the server is started
// now we can start the server 
node server.js
// go to port 8000 - render default features/index/views/index.html

Useful links

ArrowjsCore Structure

  • ArrowjsCore/libs/ArrowApplication.js

ArrowApplication is a singleton object. It is heart of Arrowjs.io web app. it wraps Express and adds following functions: support Redis, multi-languages, passport, check permission and socket.io / websocket

This picture below shows overview of ArrowApplication.js structure .

   libs/ArrowApplication.js

License

The MIT License (MIT)

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.