GithubHelp home page GithubHelp logo

kompl / homs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hydra-billing/homs

0.0 0.0 0.0 4.15 MB

Hydra Order Management System

License: Apache License 2.0

Ruby 59.83% CSS 0.37% HTML 1.33% Shell 0.23% JavaScript 25.71% Dockerfile 0.31% Sass 6.75% Haml 4.41% TypeScript 1.04%

homs's Introduction

Hydra Order Management System (HOMS)

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:

Resources:

Installation

The prefered way to install HOMS is to use Docker.

In production

  1. Download docker-compose.yml and default .env config 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 .env file. There you can change them, if you want to.

  2. For OS X users: make path to folder with config shared in Docker -> Preferences... -> File Sharing.

  3. Set SECRET_KEY_BASE variable in your .env with uniq id as value. You can generate key with openssl rand -hex 64 command. For example:

    SECRET_KEY_BASE=0750fd0eac13032778f0a42e2ab450003eaece477ea881501be0cc438f870a2f498dbbc00ffb7c8379c30c960568a402d315496bb7bc2b3ee324401ba788a

    โš ๏ธ Make sure this key is secret and don't share it with anyone.

  4. Change Minio credentials in .env file. Generate MINIO_ACCESS_KEY and MINIO_SECRET_KEY values with any credentials generator, e.g. pwgen 32 2.

  5. Run docker-compose:

    docker-compose up -d
  6. Navigate to Minio control panel and create a bucket with name equal to MINIO_BUCKET_NAME value from .env file.

  7. 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).

In development

  1. Follow the instructions below:

  2. Navigate to Minio control panel and create a bucket with name equal to MINIO_BUCKET_NAME value from .env file.

  3. Export all variables from .env file

    export $(cat .env | xargs)
    
  4. Change in bpm.yml value of development.base_url from http://camunda:8080/engine-rest/ to http://localhost:8766/engine-rest/

  5. In database.yml change value of development.host from <%= ENV['HOMS_DB_HOST'] %> to localhost

  6. Install Yarn and run

    yarn install
    
  7. Start webpack-dev-server in source directory:

    bin/webpack-dev-server
  8. Start HOMS application in another console tab:

    rails s
  9. Create and populate the database (adds an admin user, initial order types, and orders):

    rails db:migrate
    export SEED_DB=true
    rails db:seed
  10. Log in at HydraOMS with [email protected]/changeme.

Contributing/Development

The general development process is:

  1. Fork this repo and clone it to your workstation.
  2. Create a feature branch for your change.
  3. Write code and tests.
  4. Push your feature branch to github and open a pull request against master.

Reporting Issues

Issues can be reported by using GitHub Issues.

Testing

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/DIR

Links

  1. Repo with helper classes for BPMN development.

  2. Example of creating a demo business process.

License

Copyright (c) 2019 Latera LLC under the Apache License.

homs's People

Contributors

gideonexe avatar sugarfree1 avatar vladdoncheg avatar nataliekor avatar hydra-billing-robot avatar nixikanius avatar flash-gordon avatar pleaseduck avatar dependabot[bot] avatar theodor85 avatar eugenweissbart avatar sergeichukd avatar abyr9 avatar kiread-work avatar mimuss avatar odiegopereira avatar dolfinus avatar robin-jerome avatar profx5 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.