Giter Club home page Giter Club logo

earthquake-hazard-tool's Introduction

earthquake-hazard-tool

Build Status Coverage

Unified application for hazard calculations.

License

Getting Started

On OS X, we recommend using homebrew to install application dependencies.

Dependencies

There are multiple dependencies that must be installed for this project:

  1. PHP
  2. PostgreSQL
  3. NPM Dependencies (development only)
  4. Sass and Compass (development only)

Install PHP

$ brew install php55

Install PostgreSQL

This will take you through the process of installing, starting, and creating a PostgreSQL database locally.

  1. Install
$ brew install postgresql

After running brew install postgresql, the terminal will output directions that you will use to get your installation up and running.

  1. Create/Upgrade a Database

If this is your first install, create a database with:

$ initdb \
  --auth=md5 \
  --auth-host=md5 \
  --auth-local=md5 \
  --pgdata=<db_directory> \
  --encoding=UTF8 \
  --locale=en_US.UTF-8 \
  --username=<db_admin_username>
  --pwprompt

You will need to replace the <db_directory> and <db_admin_username> with actual values that make sense for your environment. The <db_directory> is a fully-qualified path name to a directory. This directory is where data files for the database installation will be located. The <db_admin_username> is the name of the administrator for the database installation. This command will prompt you to enter a password for the <db_admin_username>.

Note: We suggest defining a .data directory at the root level of this application for the <db_directory>.

  1. Start/Stop PostgreSQL

After running the initdb command, you should see a success message. Use the pg_ctl utility to start the database.

$ pg_ctl -D <db_directory> start

You will need to replace the <db_directory> with the same value you used when running the initdb command (above). Alternatively, you can set the PGDATA environment variable to this value and you will not need to specify the -D <db_directory> flag.

  1. Login

Login to the default postgres database with the user that created the database.

$ psql postgres

Note: PostgreSQL will create the default database postgres, which you can access with the same user that you used to create the database.

Install NPM Dependencies

From the root of the project directory:

$ npm install

Install Sass and Compass with Ruby

$ gem install sass

Create Database

When installing this application you will be prompted for a database DSN (host, port, db name) as well as database username and password.

While the database server is currently running, you still need to create a database in the server that can be used by the application. We recommend a dedicated tablespace be assigned to this database. Additionally, for database access, you will not want to use the database administrator credentials but rather a dedicated username/password for this application.

$ mkdir <db_directory>/<db_name>
$ psql postgres

postgres=# CREATE USER <db_user> WITH ENCRYPTED PASSWORD '<db_pass>';
postgres=# CREATE TABLESPACE <db_name>_ts
  OWNER <db_user>
  LOCATION '<db_directory>/<db_name>';
postgres=# CREATE DATABASE <db_name>
  WITH OWNER <db_user>
  TABLESPACE <db_name>_ts;
postgres=# \c <db_name>;
<db_name>=# CREATE SCHEMA <db_schema> AUTHORIZATION <db_user>;
<db_name>=# \q
$

Note: You will need to replace any value contained in angle brackes (eg. <db_name>) with the actual value that makes sense in your environment. You will need to use most of these same values again during the pre-install script that gets run (below).

Preview in a Browser

$ ./src/lib/pre-install
$ grunt

The pre-install script will prompt you for several configuration values. Values related to the database should match those that were used during the "Create Database" step (above).

Having trouble getting started?

If this is your first time using grunt, you need to install the grunt command line interface globally.

$ npm install -g grunt-cli

earthquake-hazard-tool's People

Contributors

emartinez-usgs avatar ehunter-usgs avatar jmfee-usgs avatar jdbrown-usgs avatar hasimpson-usgs avatar emcwhirter-usgs avatar pmpowers-usgs avatar

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.