BattleStax, a JamStack + Astra DB Workshop

BattleStax is a stateful JAMStack game that is wholesome fun for the entire crew.

50 minutesAdvanced

Updated September 14, 2021


BattleStax

50 minutes, Advanced, Start Building

Open in Gitpod

BattleStax is a stateful JAMStack game that is wholesome fun for the entire crew.

image

Objectives

  • Deploy a scalable JAMStack app to production
  • Leverage a good CI/CD process to manage your JAMStack App

How this works

The BattleStax players watch a lobby screen while playing the game on their devices.

image

JAMstack is a big leap forward in how we can write web applications that are easy to write, deploy, scale, and also maintain. Using this approach means that newly created content is rendered from a content API, while a static render of it is being built into the site for future.

Get Started

To build and play with this app, follow the build instructions that are located here: https://github.com/DataStax-Examples/battlestax

Running BattleStax

Follow the instructions below to get started.

Prerequisites

Let's do some initial setup by creating a serverless(!) database.

DataStax Astra

  1. Create a DataStax Astra account if you don't already have one: image

  2. On the home page. Locate the button Create Database image

  3. Locate the Get Started button to continue image

  4. Define a database name, keyspace name and select a database region, then click create database. image

  5. Your Astra DB will be ready when the status will change from Pending to Active 💥💥💥 image

  6. After your database is provisioned, we need to generate an Application Token for our App. Go to the Settings tab in the database home screen. image

  7. Select Admin User for the role for this Sample App and then generate the token. Download the CSV so that we can use the credentials we need later. image

  8. After you have your Application Token, head to the database connect screen and copy the connection information that we'll need later. We'll replace ASTRA_DB_APPLICATION_TOKEN with the Token value that is part of your Application Token. image

Github

  1. Click Use this template at the top of the GitHub Repository: image

  2. Enter a repository name and click 'Create repository from template': image

  3. Clone the repository: image

Running the full game

Make sure you've completed the prerequisites before starting this step

Running on your local machine

  1. Check out the full-game branch
git fetch
git checkout full-game
  1. Create a .env file and fill it with values from the .env.example file.

  2. Make sure the package dependencies are installed

# install dependencies
npm install
  1. Then, start the app in dev mode. Changes in the src or functions directories will trigger reloads.
# start battlestax in dev mode
npm run dev

Tutorial Steps

The above instructions are great to get you up and running pretty quickly, but if you would like to learn how to fully deploy the application to production with JAMStack then click the button below to get started.

<p align="center"> <a href="https://github.com/DataStax-Examples/battlestax/wiki"> <img src="https://dabuttonfactory.com/button.png?t=Open+the+workshop&f=Roboto-Bold&ts=26&tc=fff&hp=45&vp=20&c=11&bgt=unicolored&bgc=15d798" /> </a> </p>

Create your Account and get started!

Let's Go!
View on GitHubDeploy to NetlifyDeploy to Vercel