Skip to content

crowbar/crowbar-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a01a3a0 · Dec 9, 2019
Dec 9, 2019
Oct 14, 2016
Sep 14, 2016
Aug 7, 2018
Feb 9, 2017
Jun 4, 2018
Nov 30, 2016
Dec 6, 2016
Oct 14, 2016
Aug 26, 2016
Jun 17, 2016
Sep 23, 2016
Aug 10, 2016
Dec 9, 2019
Jun 17, 2016
Nov 30, 2016
Sep 13, 2016
Apr 6, 2018
Jan 12, 2017
Mar 1, 2017
Sep 23, 2016
Aug 7, 2018
Sep 23, 2016
Oct 26, 2016
Jul 5, 2019
Aug 7, 2018
Nov 30, 2016

Repository files navigation

Welcome to Crowbar Angular Prototype

Build Status

Setting up a development environment with Docker

This is an optional way to develop on crowbar-ui within a contained environment. The main benefit is to have some reusable and host-independent environment to develop on.

  1. make sure docker is installed and the docker daemon is running.

    for installation details see: https://docs.docker.com/engine/installation/

  2. build the image from the Dockerfile:

docker build -t crowbar-ui .
  1. run the container (pwd should be your git clone):
docker run -d --name "crowbar-ui_container" -v $(pwd)/assets:/crowbar-ui/assets -v $(pwd)/routes:/crowbar-ui/routes -p 3000:3000 crowbar-ui
  1. work on the assets folder in your local git clone and the changes will be immediately visible in the browser. also if you are changing the ./routes directory the server inside the container gets restarted by nodemon

Running the test suite inside the container

docker exec -ti crowbar-ui_container npm test

First steps to have the app running locally for PRODUCTION ENV only:

1 - Clone the app from GitHub:

git@github.com:crowbar/crowbar-ui.git

2 - Locate yourself into the recently created folder:

cd crowbar-ui

Make sure you have Node.js installed in your machine with NPM, if not, please proceed to install it before continuing with the following steps. (more info: https://nodejs.org/en/download/)

3 - Let npm install all the needed packages:

npm install

4 - Some packages, like gulp, needs to be installed globally to be available through the console. Let's install them:

sudo npm install -g gulp

5 - You will need to have Bower installed globally in your machine:

npm install -g bower

6 - Let bower fetch all our dependencies:

NODE_ENV=production bower install

7 - Let Gulp build the public folder for your assets (it will keep watching for changes, so yes, after this, you are ready to start making changes in the front-end), note that this will exit with a warning if cloud.config.json is missing (it will continue to run if NODE_ENV is not set to production):

NODE_ENV=production gulp

8 - Update the tested_step variable in routes/api/upgrade.js depending on the scenario you want to test. This is used to properly fill the mocked status API response.

9 - Run the server at http://localhost:3000 with (you will need to restart it every time you make changes in the backend, but not in the layout or front-end in general):

NODE_ENV=production npm start

Need Development ENV? Perform the following replacing the steps 6, 7, and 8:

1 - Everytime you update master from new PR merged into it, make sure you have all the latest libraries from package.json by running

npm install

2 - and then, in a new terminal:

bower install && gulp

to compile all your assets again and leave it watching your changes.

Latest build/run info:

The most up to date source of setup information is .travis.yml in the base folder, as this builds/runs the test suite and must be up to date. Check there first if you encounter any issues with running the build locally

That's it fellas! .. enjoy coding!

:)

'bring it on'