Coder Social home page Coder Social logo

wdc's Introduction

World Data Center

Gitter

Project name GitHub version Build Status Dependencies Coverage Status Issue Stats Issue Stats Stories in Ready

Prerequisites

Required software:

  • node.js (or io.js) is installed (better 0.11.x or newer) Install latest node.js using npm install -g n; n latest as root/admin user
  • npm is installed (minimum 2.0, check with npm --version. Upgrade to newer npm with npm install -g npm and make sure new npm is in PATH with higher priority than the old one.
  • mongodb is installed

Highly recommended:

  • bower is installed (run npm install -g bower as admin)
  • gulp is installed (run npm install -g gulp as admin)

Optional:

  • karma is installed (run npm install -g karma` as admin)
  • protractor is installed (run npm install -g protractor as admin)
  • chrome and firefox (optional) are installed
  • docker and docker-compose. Installation instructions - Ubuntu, Windows,

Build

To run this project from terminal run the following command:

 npm install
 npm start

OR if docker and docker-compose are installed (better suited for production usage):

docker build -t sochka/wdc .
docker-compose up

Intellij idea project has preconfigured run configurations.

API docs

To generate API documentation run gulp docs

Open docs/index.html to view documentation in the browser.

Debugging:

If you want to debug javascript code in Intellij Idea - set your breakpoints in .tmp/public, not in assets/. Otherwise the debugger won't stop at your breakpoints

Project style guides:

  • MOST IMPORTANT: follow the existing code style
  • Make sensible variable names
  • Don't use git pull, use git pull --rebase or git up (git plugin) instead. You can run git config branch.master.rebase true to make git pull behave like git pull --rebase on project basis.
  • Use commit names in format [SCOPE] explanation where SCOPE is a feature, subproject or component. Examples:
    • [build] Change gulp task
    • [front-end] added new feature
    • [hotfix] fixed mistake in previous commit
    • [test] added new tests
    • [travis] removed module
    • [heroku] changed env variables
  • Use branches:
    • master branch for stable code synced from develop and bugfixes.
    • develop branch for code in development. Should be regularly merged into master
    • feature-branches for single features development. Should be merged into develop.
    • git tags on master branch to mark releases (like v0.4.3 or v1.0)

Used technologies

  • git (version control)
  • ES6/7 JavaScript (modules, async/await, classes, arrow functions etc...)
  • Sails.JS (node.js MVC framework)
  • npm (front-end dev. dependencies)
  • bower (front-end dependencies)
  • jspm (front-end dependencies)
  • gulp (front-end task-runner)
  • karma (front-end unit-test runner)
  • protractor (end-to-end test runner)
  • jasmine (test framework)
  • angularjs (MVVM front-end framework)
  • SystemJS (universal dependency loader)
  • LESS (CSS replacement)
  • jsdoc (JS documentation engine)
  • travis (Continuous Integration)
  • heroku (PaaS)
  • gravatar (service for centralized user avatar (image) store)
  • docker (deployment) (deployment)

Intellij Idea

The following steps will make your work with Intellij Idea more productive

  1. Set JavaScript version - EcmaScript 6
  2. Install TypeScript community stubs for front-end javascript dependencies.

Suggested intellij idea plugins:

  • NodeJS
  • gulp
  • karma
  • LESS
  • gitignore (for syntax highlight)
  • angularjs
  • markdown
  • EditorConfig
  • EJS

Suggested Chrome extensions:

  • angularjs batarang
  • JetBrains IDE support

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.