Overview

The purpose of this guide is to show you how to harness the full potential of Bunnyshell. To that end, we'll be diving into a simple project involving a predefined application, using some of the most important Bunnyshell features and discussing our platform's functionality.

What you'll learn

  • How to create an Environment in Bunnyshell, starting from a docker-compose.yaml, the one used for local development

  • How to deploy your Environment

  • How to create and use Ephemeral Environments

  • How to use Remote Development

  • How to debug frequent issues

  • How to integrate and extend Bunnyshell using the CLI tool and our Public API

  • A number of other useful features that Bunnyshell provides

Resources

The Demo Repository

As part of this guide, we crafted a simple repository for a demo application, named Bunnyshell Booksarrow-up-right.

You can choose to run this on local, or directly in Bunnyshell.

To run on local you just need to:

circle-check

The Demo Application

Bunnyshell Books, our demo Application, is composed of:

  • The React frontend

  • The backend (API made with Nodejs and Express)

  • The Postgres database

circle-info

The Bunnyshell Books demo app is inspired by this tutorialarrow-up-right.

The original repositories are located herearrow-up-right.

The application is built to allow easy local development and uses a docker-compose.yaml file, stored in the root of the repo. Each component is located in its own folder (an approach commonly referred to as monorepo).

circle-exclamation
circle-exclamation

Enhancing the application

Using Terraform, we'll expand the functionality of the app by adding images for books. The images will be generated (to simplify app changes) and will be uploaded into an S3 bucket which will be created using a Terraform Module for AWS S3.

Using a Helm Chart, a Redis component will be added, to allow caching capabilities.

circle-info

You can dive deeper on technical features and explore our Terraform and Helm Charts integrations.

Last updated

Was this helpful?