Giter VIP home page Giter VIP logo

biodome's Introduction

build status

Biodome

Informatics reporting and analysis web site.

The Tech

The "glue code" libraries being used:

  • Node JS for HTTP serving and server JS moduling.
  • Node Package Manager for server JS package managing.
  • Git for source controlling.
  • Express JS for javascript web application structuring.
  • Jade for server side templating.
  • Angular JS for client side MVCing.
  • Bootstrap for client side web developing.
  • Grunt for server and client JS building and tasking.
  • Bower for web package managing.
  • Mocha for JS unit testing.
  • Chai for unit test asserting.
  • MongoDB for data storing.
  • MongGoose for validation, casting and business logic boilerplating.

Project Requirements

  1. Install Node JS and NPM (NPM comes with node).

  2. Install Git.

  3. Clone the biodome repository:

    git clone [email protected]:jumpjet71/biodome.git

  4. Download MongoDB.

  5. Install MongoDB.

Project Setup

From the biodome project directory , run the following from the command line:

  1. Install Grunt CLI and the Bower CLI global dependencies:

    npm install grunt-cli bower -g

  2. Install all of the local client side JavaScript dependencies:

    bower install

  3. Install all of the local server side JavaScript dependencies:

    npm install

Available Build, Test and Deploy Grunt Commands

There are a number of Grunt based targets that are used for running different build tasks:

  • grunt build-debug or grunt: To run tests locally and compile all of the CSS and JavaScript files into /dist.
  • grunt build: To run tests locally ,compile and UglifyJS the CSS and JavaScript into /dist.
  • grunt test: Run all server js and all client JavaScript Mocha unit tests headless in PhantomJS.
  • grunt watch: This is a developer convenience method for watching JavaScript and CSS file and automatically building them whenever you save.

NOTE: MongoDB needs to be installed and running in order to run test tasks.

Environmental Settings

There are three environments provided by default, development, test, and production. Each of these environments has the following configuration options:

  • mongoDbUrl: This is the url of the MongoDB database to use, and is set by default set to mongodb://localhost/biodome-test for the test environment.
  • app.name: This is the name of your app or website, and can be different for each environment. You can tell which environment you are running by looking at the TITLE attribute that your app generates.

To run with a different environment, just specify NODE_ENV as you call grunt:

$ NODE_ENV=test grunt

If you are using node directly instead of grunt, it is very similar:

$ NODE_ENV=test node server

Application Run Grunt Commands

After successfully running grunt, grunt build-debug, or grunt test you are ready to run the application. The following commands set NODE_ENV with the appropriate environment, Nodemon for server side code monitoring.

  • grunt run-test-mode: To run the application with test environment. (The running application URL will be: http://localhost:3000)
  • grunt run-dev-mode: To run the application with development environment. (The running application URL will be: http://localhost:3000)

NOTE: MongoDB needs to be installed and running in order to run project.

biodome's People

Contributors

jumpjet7 avatar jumpjet71 avatar mortonfox avatar

Watchers

 avatar

Forkers

clubin

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.