Skip to content
Angular2 Full Stack with ES6, Webpack, Express, Node, Karma, Protractor, ESLint
JavaScript HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Dependency Status

Angular2 Fullstack Starter

A basic starter project that features Angular 2 with ES6 and Express/Node. Has fully integrated unit and e2e tests. Also, has the ability to build for production and configuration based on the environment!

Huge Kudos goes to the Angular2 Webpack Starter for being a great example!

Quick Start

# Clone the repo
git clone

# CD into the project
cd angular2-fullstack-starter

# Install all required dependencies
npm install

# Start the server (uses WebpackDevServer for development)
npm start

Now, navigate to http://localhost:3000 in your browser and code!


Unit Testing w/ Karma

# Run unit tests
npm test

Will run all karma unit tests. Coverage will be reported in /coverage.

E2E Testing w/ Protractor

Make sure to install the webdriver before hand using npm run webdriver-update.

# Start the application in one command prompt
npm start

# Start the webdriver in another command prompt
npm run webdriver-start

# Finally, run the e2e test in a third command prompt
npm run protractor


Building this application is easy, there are a few commands to make it very easy. It uses the index.html file that is located in public as a base template and outputs a build version of it into server/views/index.html to be served up via node.


To build a development version of the application, run the following commands:

# Build a development version 
npm run build:dev


To build a fully optimized production version of the application, run the following commands:

# Build a production version
npm run build:prod

Running Production Code

To run the production version of the application, run the following commands:

npm run build:prod
npm run start:prod

Adding Configuration

Configuration is controlled via convict.

To add custom configuration, you first must modify the scheme located in server/config.js. Once you have the scheme in place, then go into server/config/* and add the value for each environment.

To change/remove/add environments, just look at the scheme and change the default format for env.

You can’t perform that action at this time.