Skip to content

Create app stacks loaded with all your favourite clients, services and infra along with code boilerplates in under 5 mins.

License

Notifications You must be signed in to change notification settings

Stack-Box/stackbox

Repository files navigation

StackBox


Stackbox helps you create app stacks loaded with all your favourite clients, services and infra in under 5 mins. The aim of the project is to help developers setup quick infra and boilerplates to start the dev work asap. Ideally this project is to help rapid prototyping, building PoCs or writing code for hackathons.

Wiki is a good place to start!

  1. About
  2. Get Started
  3. Working
  4. Debugging

Get Started

Run

Brew installation

brew tap Stack-Box/tap
brew install stackbox

Run

stackbox

Creates a folder names stackbox in the current directory with all source.

From source

sh stackbox.sh

Follow the menu options to select clients and services for your stack.

Jump to example-stacks to quickly try a run

Support

Clients/Services Mysql Elasticsearch MongoDB S3 DynamoDB
Flask
Rails
Vue
Angular
React

Other containers that you can bring up:

  1. nginx
  2. kibana
  3. kafka + zookeeper (there's a kafka handler support for put/get messages in flask)

Example Stacks

The following are a few example stacks you could spin-up.

Run from source - sh stackbox.sh or Run from Brew installation - stackbox

1. Flask-Vue-Mysql-Elasticsearch

Choose vue for frontend, flask for backend. Choose mysql and elasticsearch (with/without kibana) for services. After the run is finished, the final log should look like the one below.

flask is up at http://localhost:80
vue is up at http://localhost:8080
elasticsearch is up at http://localhost:9200
mysql is up at http://localhost:3306

Now you can visit http://localhost:8080 to view the Vue frontend. From there you can click on Mysql/Elasticsearch links to view the preloaded data from mysql/elasticsearch containers being rendered.

2. Flask-Angular-Mysql-Elasticsearch

Choose vue for frontend, flask for backend. Choose mysql and elasticsearch (with/without kibana) for services. After the run is finished, the final log should look like the one below.

flask is up at http://localhost:80
angular is up at http://localhost:4200
elasticsearch is up at http://localhost:9200
mysql is up at http://localhost:3306

Now you can visit http://localhost:4200 to view the Vue frontend. From there you can click on Mysql/Elasticsearch links to view the preloaded data from mysql/elasticsearch containers being rendered.

Visit Working or Debugging pages to know more about internal details.