Skip to content

Simulate and test cloud architectures to deploy apps the better way. Powered by Google's Gemini A.I

Notifications You must be signed in to change notification settings

ParamBirje/noburncloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

NoBurnCloud

Build better cloud architectures without the unexpected costs.

About the Project

NBC simulates the idea of having your app deployed on the cloud with lifelike users and problems. It would help you get a general idea of how the environment would be in a real world scenario, where you could get product updates to expand your architecture or would be bombarded with real world cloud failures and how it would affect your product's performance (business-wise). All packed into a single app, powered by AI.

It helps you prepare your architecture better by simulating events that will force you to use the best practices for scalability, high-availability, resiliency and security so that your architecture withstands any, well most, vulnerabilities.

Tech Stack

Built using,

  • Next.js
  • React.js
  • Typescript
  • Tailwind CSS
  • SocketIO
  • ExpressJS
  • Jotai

Running locally

🐳 Docker

Pre-requisites

App Setup

Let's start with the steps for setting up the project.

  • Clone the repo to your local system
git clone https://github.com/ParamBirje/noburncloud.git
  • Change working directory to the project's root cd noburncloud

  • Locate the .env.example in the project's root directory and make a copy of it as a .env file. Use your Gemini AI API key and assign it to the environment variable in the .env file.

GEMINI_API=API_KEY_HERE
  • Inside the project root directory, run this command:
docker compose --env-file .env up --build

⚙️ Manual

Pre-requisites

App Setup

Let's start with the steps for setting up the project.

  • Clone the repo to your local system
git clone https://github.com/ParamBirje/noburncloud.git
  • Change working directory to the project's root cd noburncloud
Backend Server (Express + Websockets)
  • Change your working directory to /apps/api and run
npm install
  • Locate the .env.example in the same directory and make a copy of it as a .env file. Use your Gemini AI API key and assign it to the environment variable in the .env file.
GEMINI_API=API_KEY_HERE
  • Now run the following command to make a build version.
npm run build
  • We now run the build version using,
npm start

The backend server is now running on https://localhost:5001! Let's start setting up our frontend now.

Frontend (Next.js)
  • In a new terminal session, Change your working directory to /apps/web and run
npm install
  • Locate the .env.example in the same directory and make a copy of it as a .env file. No edits are needed here as we are using the defaults.

  • Now run the following command to make a build version.

npm run build
  • We now run the build version using,
npm start

Additional

If you will be running npm run dev for the Next.js app (which runs on https://localhost:3002), remember to change the /apps/api/.env file and change the following variable.

# Set this according to what URL the Next.js app is running on

ALLOWED_ORIGIN=https://localhost:3002

Default of ALLOWED_ORIGIN is set to https://localhost:3000 which is what the build version of Next.js uses.

About

Simulate and test cloud architectures to deploy apps the better way. Powered by Google's Gemini A.I

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published