All Projects → openboxes → Openboxes

openboxes / Openboxes

OpenBoxes is a supply chain management system designed to manage inventory and track stock movements for healthcare facilities.

Programming Languages

groovy
2714 projects

Projects that are alternatives of or similar to Openboxes

Openhospital
Open Hospital is a free and open source software for healthcare data management. This repository is used to build its releases.
Stars: ✭ 312 (+0.97%)
Mutual labels:  healthcare, hacktoberfest
Shopyo
🎁 Your Open web framework, designed with big in mind. Flask with Django advantages. Build your management systems, ERP products & mobile backend (coming soon). Small business needs apps included by default. First timers friendly. Email: [email protected] | password: pass
Stars: ✭ 172 (-44.34%)
Mutual labels:  inventory-management, hacktoberfest
Ralph
Ralph is the CMDB / Asset Management system for data center and back office hardware.
Stars: ✭ 1,701 (+450.49%)
Mutual labels:  inventory-management, hacktoberfest
Openhospital Core
Open Hospital Core library
Stars: ✭ 31 (-89.97%)
Mutual labels:  healthcare, hacktoberfest
Awesome Minimalist
A curated list of awesome minimalist frameworks (simple and lightweight).
Stars: ✭ 3,189 (+932.04%)
Mutual labels:  hacktoberfest
Prism
Gett's Design System code generator. Use Zeplin Styleguides as your R&D's Single Source of Truth.
Stars: ✭ 308 (-0.32%)
Mutual labels:  hacktoberfest
Pydev
Python IDE for Eclipse
Stars: ✭ 306 (-0.97%)
Mutual labels:  hacktoberfest
Airform
Functional HTML forms for Front-End Developers.
Stars: ✭ 307 (-0.65%)
Mutual labels:  hacktoberfest
Submitty
Homework Submission, Automated Grading, and TA grading system.
Stars: ✭ 311 (+0.65%)
Mutual labels:  hacktoberfest
Esphome
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Stars: ✭ 4,324 (+1299.35%)
Mutual labels:  hacktoberfest
Archiver
Easily create & extract archives, and compress & decompress files of various formats
Stars: ✭ 3,373 (+991.59%)
Mutual labels:  hacktoberfest
Wesbos
Stars: ✭ 308 (-0.32%)
Mutual labels:  hacktoberfest
Csvhelper
Library to help reading and writing CSV files
Stars: ✭ 3,484 (+1027.51%)
Mutual labels:  hacktoberfest
Canvasapi
Python API wrapper for Instructure's Canvas LMS. Easily manage courses, users, gradebooks, and more.
Stars: ✭ 306 (-0.97%)
Mutual labels:  hacktoberfest
Cucumber
A monorepo of common components - building blocks for implementing Cucumber in various languages.
Stars: ✭ 3,299 (+967.64%)
Mutual labels:  hacktoberfest
Posh Git Sh
Bash/ZSH version of the posh-git command prompt
Stars: ✭ 307 (-0.65%)
Mutual labels:  hacktoberfest
Persistence
The Doctrine Persistence project is a library that provides common abstractions for object mapper persistence.
Stars: ✭ 3,481 (+1026.54%)
Mutual labels:  hacktoberfest
Coala
coala provides a unified command-line interface for linting and fixing all your code, regardless of the programming languages you use.
Stars: ✭ 3,280 (+961.49%)
Mutual labels:  hacktoberfest
Spidermon
Scrapy Extension for monitoring spiders execution.
Stars: ✭ 309 (+0%)
Mutual labels:  hacktoberfest
Start here
This repo outlines how to get started contributing to Operation Code, each of our projects, the language they are written in, and their purpose.
Stars: ✭ 307 (-0.65%)
Mutual labels:  hacktoberfest

Build Status Documentation Status Financial Contributors on Open Collective Slack Signup PRs Welcome Join the chat at https://gitter.im/openboxes/openboxes

OpenBoxes

About

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.

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

License

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.

Setup development environment

Install Dependencies

Required

Optional

Basic setup instructions for developers

These instructions are for developers only. If you are a user/implementer, please check out our Installation documentation.

1. Install Dependencies

Install required dependencies above

2. Install Grails

Check that you have SDK Man installed properly (otherwise follow instructions on the skdman install page).

$ sdk version
SDKMAN 3.1.0

Install Grails 1.3.9

$ sdk install grails 1.3.9

3. Clone repository

If you are a core contributor:

git clone [email protected]:openboxes/openboxes.git      

If you are a not core contributor, fork openboxes git repository and replace git url with the one of your forked repository

git clone [email protected]:<gitusername>/openboxes.git      

4. Create database

Create openboxes database

mysql -u root -p -e 'create database openboxes default charset utf8;'

Create openboxes user

mysql -u root -p -e 'grant all on openboxes.* to "openboxes"@"localhost" identified by "openboxes";'

5. Create Openboxes configuration file

Edit $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
dataSource.username=openboxes
dataSource.password=openboxes

# OpenBoxes mail settings (disabled by default)
grails.mail.enabled=false

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

6. Install NPM dependencies

npm config set engine-strict true
npm install

7. Build React frontend

You can build React frontend with this command, but it will be automatically build when starting the application.

npm run bundle

8. React frontend Hot-Reload

When using this command React fronted will be rebuild automatically after any change, you just need to refresh the browser to see the effect.

npm run watch

9. Upgrade the project to the currently installed grails version

Either of the following actions (upgrade, compile, run-app) should generate the all important Spring configuration (/WEB-INF/applicationContext.xml) and start the dependency resolution process.

grails upgrade

OR

grails compile

The grails compile step is not necessary since grails run-app will invoke the compilation step, but it doesn't hurt anything.

If you see any errors, run the command again.

IMPORTANT That last line is important. Because of some quirkiness with the way older versions of Grails resolve dependencies and generates config files, you may need to run either of these commands multiple times in order to resolve all dependencies and generate the config files.

Once the dependency resolution phase has completed, all dependencies will be stored in a local ivy cache (usually under $USER_HOME/.grails/ivy-cache). You do not have to worry about this, just know that the dependencies are now on your machine and Grails will attempt to find them there before it tries to resolve them in a remote repository.

10. Start application in development mode

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

11. Open application in Google Chrome

http://localhost:8080/openboxes

12. Log into OpenBoxes

You can use the default accounts (manager:password OR admin:password). Once you are logged in as an admin, you can create own account. Or you can use the signup form to create a new account.

13. React tests

To run new frontend (React) tests type:

npm test

14. React documentation

Start a style guide dev server:

npm run styleguide

View your style guide in the browser:

http://localhost:6060

Troubleshooting

How to Debug

  • Run Grails in debug mode
    grails-debug run-app
    
  • In Intellij navigate to Run > Edit Configurations
  • Create a new Remote Debug Configuration
    • Name: openboxes-debug
    • Transport: Socket
    • Debugger mode: Attach
    • Host: localhost
    • Port: 5005
  • Command line arguments should look something like this:
    -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
    

Problem

Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]

Solution

Execute the grails upgrade command in order to generate the files nece

$ grails upgrade

See the following stackoverflow article: http://stackoverflow.com/questions/24243027/grails-spring-security-sample-application-not-working

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].