HOMS is an open source web application for order and business process management.
Application consists of three parts:
- User interface - managing orders and tasks for registered users (Single Page Application).
- Administrator interface - managing users and order types.
- REST API - operations with orders and users.
Requirements:
Compatibility:
- Camunda 7.9.0 compatible with PostgreSQL 9.1 / 9.3 / 9.4 / 9.6
Resources:
- Documentation: http://hydra-oms.com/docs
- Demo: http://demo.hydra-oms.com
- Community: http://community.hydra-oms.com
- Tickets/Issues: https://github.com/latera/homs/issues
The prefered way to install HOMS is to use Docker.
-
Download
docker-compose.ymland default.envconfig file:wget https://raw.githubusercontent.com/latera/homs/master/docker-compose.yml wget https://raw.githubusercontent.com/latera/homs/master/.env.sample -O .env
📌 All variables are set in
.envfile. There you can change them, if you want to. -
For OS X users: make path to folder with config shared in
Docker -> Preferences... -> File Sharing. -
Set
SECRET_KEY_BASEvariable in your.envwith uniq id as value. You can generate key withopenssl rand -hex 64command. For example:SECRET_KEY_BASE=0750fd0eac13032778f0a42e2ab450003eaece477ea881501be0cc438f870a2f498dbbc00ffb7c8379c30c960568a402d315496bb7bc2b3ee324401ba788a
⚠️ Make sure this key is secret and don't share it with anyone. -
Change Minio credentials in
.envfile. GenerateMINIO_ACCESS_KEYandMINIO_SECRET_KEYvalues with any credentials generator, e.g.pwgen 32 2. -
Run
docker-compose:docker-compose up -d
-
Navigate to Minio control panel and create a bucket with name equal to
MINIO_BUCKET_NAMEvalue from.envfile. -
Login to HydraOMS with
[email protected]/changeme. Now you are able to start Pizza Order demo process.
You can login to Camunda Admin interface with credentials equal to BPM_USER:BPM_PASSWORD values from .env file (user/changeme if these variables aren't set).
-
Follow the instructions below:
-
Without Oracle Instant Client (default way).
-
Navigate to Minio control panel and create a bucket with name equal to
MINIO_BUCKET_NAMEvalue from.envfile. -
Export all variables from .env file
export $(cat .env | xargs) -
Change in bpm.yml value of development.base_url from
http://camunda:8080/engine-rest/tohttp://localhost:8766/engine-rest/ -
In database.yml change value of development.host from
<%= ENV['HOMS_DB_HOST'] %>tolocalhost -
Install Yarn and run
yarn install -
Start
webpack-dev-serverin source directory:bin/webpack-dev-server
-
Start HOMS application in another console tab:
rails s
-
Create and populate the database (adds an admin user, initial order types, and orders):
rails db:migrate export SEED_DB=true rails db:seed -
Log in at HydraOMS with
[email protected]/changeme.
The general development process is:
- Fork this repo and clone it to your workstation.
- Create a feature branch for your change.
- Write code and tests.
- Push your feature branch to github and open a pull request against master.
Issues can be reported by using GitHub Issues.
HOMS uses RSpec for unit/spec tests. You need to set up different testing database. Otherwise your development DB would be erased.
# Run all tests
bundle exec rspec spec
# Run a single test file
bundle exec rspec spec/PATH/TO/FILE_spec.rb
# Run a subset of tests
bundle exec rspec spec/PATH/TO/DIRCopyright (c) 2019 Latera LLC under the Apache License.