Code Monkey home page Code Monkey logo

axial-stockobservr's Introduction

StockObservr

Stock Observr: money never sleeps!

A RESTful application built using Angular 1.5, ng-Redux and RxJS 5

Stack

To add?

  • Jade
  • TypeScript

Dependencies

You must have node v >= 4.0 and npm installed (via brew install node or NodeJS.org);

Install a few dependencies globally:

  $ npm install -g json-server
  $ npm install -g babel
  $ npm install -g webpack
  $ npm install -g webpack-dev-server
  $ npm install -g eslint
  $ npm install -g concurrently

Getting Started

There are two main parts to this application. The first is the server which we are using json-server to simulate a REST api. The second part is the Angular application which we will use webpack-dev-server to display.

To get started, run the commands below to install the dependencies

  $ npm install

Then navigate to http://localhost:3001 in your browser.

Create a JS bundle with Webpack::

  $ npm run build

Start the Webpack development server on 'localhost:3000':

  $ npm run start

Run tests:

  $ npm run test

Linting:

  $ npm run lint

Cleaning:

  $ npm run clean

HTML Webpack Plugin

Installation:

  $ npm install html-webpack-plugin --save-dev

webpack.config.js:

  var HtmlWebpackPlugin = require('html-webpack-plugin')

  module.exports = {
    ...
    plugins: [
      new HtmlWebpackPlugin({
        title: 'Website Starter',
        template: 'src/index.html',
        minify: {
          collapseWhitespace: true,
          removeComments: true,
          removeRedundantAttributes: true,
          removeScriptTypeAttributes: true,
          removeStyleLinkTypeAttributes: true
        }
      })
    ],
  }

ES 6 Imports

Default import:

  import localName from 'src/my_lib';

Namespace import: imports the module as an object (with one property per named export)

  import * as my_lib from 'src/my_lib';

Named imports:

  import { name1, name2 } from 'src/my_lib';

Renaming named imports:

  // Renaming: import `name1` as `localName1`
  import { name1 as localName1, name2 } from 'src/my_lib';

Empty import: only loads the module, doesn’t import anything. The first such import in a program executes the body of the module.

  import 'src/my_lib';

Source: http://exploringjs.com/es6/ch_modules.html

Imports for broken modules:

  require('script!objectpath/lib/ObjectPath');

Source: https://webpack.github.io/docs/shimming-modules.html

SASS Loader

Installation:

  $ npm install sass-loader --save-dev

Webpack Configuration (webpack.config.js):

  module.exports = {
    ...
    module: {
      loaders: [
        ...
        { test: /\.scss$/, loaders: ["style", "css?sourceMap", "sass?sourceMap"]},
      ]
    },
    devtool: 'source-map'
  }

Javascript:

  import Styles from './styles.scss';

SASS (styles.scss):

  body {
      padding-top: 80px;
  }

Travis CI

  • Enable Travis for repository

.travis.yml:

  language: node_js
  node_js:
  - 4.2.1
  cache:
    directories:
      - node_modules
  before_install:
    - export CHROME_BIN=chromium-browser
    - export DISPLAY=:99.0
    - sh -e /etc/init.d/xvfb start
  install:
  - npm install -g babel
  - npm install -g webpack
  - npm install -g webpack-dev-server
  - npm install -g eslint
  - npm install
  script:
  - npm run test
  notifications:
    email:
    - [email protected]

webpack.config.js::

...

ESLint

Installation:

  $ npm install eslint -g

Sublime Text 3 Installation: https://github.com/roadhump/SublimeLinter-eslint

Sources

General Resources

Component Architecture

Redux

Observables

All Together

Other Related resources

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.