Opbeans

by elastic

GitHub Readme.md

Opbeans

The Opbeans inventory management system is a demo app created and maintained by Elastic.

It's hosted on opbeans.com.

Build status js-standard-style

Technology Stack

This application uses the following technologies:

Deployment

Deploy

This app can be deployed directly to Heroku by pressing the button above. You will need to enter the required environment variables to complete the deployment. See below for configuration options.

Configuration

Setup the following environment variables:

  • NODE_ENV - The current Node environment (set to production to enable Elastic APM)
  • PGHOST - PostgreSQL server host
  • PGPORT - PostgreSQL server port
  • PGUSER - PostgreSQL database username
  • PGPASSWORD - PostgreSQL database password
  • PGDATABASE - PostgreSQL database name (defaults to opbeans)
  • ELASTIC_APM_APP_NAME - Elastic APM App Name for the server app
  • ELASTIC_APM_SERVER_URL - APM Server URL (defaults to http://localhost:8080)
  • REACT_APP_OPBEAT_APP_ID - Opbeat App Id for the client app
  • REACT_APP_OPBEAT_ORG_ID - Opbeat Organization Id for the client app

For a complete list of PostgreSQL environment variables see the official documentation.

In development, you can create a .env file in the root of the project containing all your secret environment variables. See dotenv for details. Additionally if you create a .env file in the /client folder, variables prefixed with REACT_APP_ will be available in the React app.

Bootstrap

Populate the database with tables and basic data:

npm run db-setup

Generate random orders:

node db/generate_orders.js <num>

Where <num> is the amount of orders to create.

Start

npm start

Demo notes

The Node.js server have a built-in bug that you can trigger by navigating to the path /is-it-coffee-time.

License

MIT


Made with ♥️ and ☕️ by Elastic.