OpenBoxes is an Open Source Inventory and Supply Chain Management System. The initial implementation of OpenBoxes will occur at Partners In Health-supported facilities in Haiti.
Copyright (c) 2012 Partners In Health. All rights reserved. The use and distribution terms for this software are covered by the Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) which can be found in the file epl-v10.html at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.
####Dependencies
- Eclipse IDE for Java EE Developers
- Java 1.6
- Grails 1.3.7
- MySQL 5.5+
- Tomcat 6 or 7 (optional for dev envrionment)
These instructions are for developers only. If you are a user/implementer, please check out our Installation page.
- Install dependencies above
- Install latest version of GVM (http://gvmtool.net/)
- Install Grails 1.3.7
gvm install grails 1.3.7
- If you are a not core contributor, fork openboxes git repository
- If you are a core contributor:
git clone git@github.com:openboxes/openboxes.git
Otherwise, replace git url with the one of your forked repository
mysql -u root -p -e 'create database openboxes default charset utf8;'
mysql -u root -p -e 'grant all on openboxes.* to "openboxes"@"localhost" identified by "openboxes";'
Add $HOME/.grails/openboxes-config.properties
# Database connection settings
# You can use dataSource.url when you are using a non-dev/non-test database (test-app may not run properly).
# If you want to run $ grails test-app you should comment out the dataSource.url below and create a new
# openboxes_test database. Eventually, we will move to an in-memory H2 database for testing, but we're
# currently stuck with MySQL because I'm using some MySQL-specific stuff in the Liquibase changesets. My bad.
dataSource.url=jdbc:mysql://localhost:3306/openboxes?autoReconnect=true&zeroDateTimeBehavior=convertToNull&sessionVariables=storage_engine=InnoDB
dataSource.username=openboxes
dataSource.password=openboxes
# OpenBoxes mail settings - disabled by default
grails.mail.enabled=false
# OpenBoxes > Inventory Browser > Quick categories
#openboxes.inventoryBrowser.quickCategories=ARVs,MEDICAL SUPPLIES,FOOD,EQUIPMENT,MEDICINE
# OpenBoxes > Choose Location > Required Activities
# The supported activities required in order for a location a location to show up on Choose Location page.
# Possible values: MANAGE_INVENTORY, PLACE_ORDER, PLACE_REQUEST, FULFILL_ORDER, FULFILL_REQUEST, SEND_STOCK, RECEIVE_STOCK, EXTERNAL
#
#openboxes.chooseLocation.requiredActivities = "MANAGE_INVENTORY"
# If you wish to not set up any test data, you can indicate this per the below
# (eg. if you are running from a copy of a production db)
# openboxes.fixtures.enabled=false
# Google Product Search
#google.api.key=<Google API key>
# Hipaaspace.com API (NDC Lookup)
#hipaaspace.api.key=<hipaaspace API key>
# RXNorm API
#rxnorm.api.key=<RxNorm API key>
# Google analytics
#google.analytics.enabled = false
#google.analytics.webPropertyID = <Google Analytics Key>
NOTE: If you are running in development mode with a copy of an existing production database, you will need to instruct the application to not setup test fixtures automatically by uncommenting the above property: openboxes.fixtures.enabled=false
Either of these actions should start the dependency resolution process.
IMPORTANT You may need to run either of these commands multiple times in order to resolve all dependencies.
grails compile
OR
grails upgrade
The application can be run in development mode. This starts the application running in an instance of Tomcat within the Grails console. You may need to run 'grails run-app' several times in order to download all dependencies.
grails run-app
http://localhost:8080/openboxes
You can use the default accounts (manager:password OR admin:password) and create your own accounts.