A spooky, crowdsourced, mad-lib, Choose Your Own Adventure story
built with Next.js, XState, Hasura, and Netlify Forms + Functions.
What is this?
This is a project that uses Next.js, XState, Hasura, and Netlify Forms.
The "story" side of the app is a state machine that pulls a random character from the database and populates their data to make a "Choose your own Adventure" style story. The other side of the app is character submission, in which folks can send their characters to the story database, and their character may be randomly pulled from the database!
Installation options
Option one: One-click deploy
(If you click this button, it will clone this repo to your account, and sets that repo up immediately for deployment on Netlify)
Option two: Manual clone
- Clone this repo:
git clone https://github.com/cassidoo/next-adventure.git
- Navigate to the directory and run
npm install
thennpm run dev
- Make your changes
- Connect to Netlify manually (the
netlify.toml
file is the one you'll need to make sure stays intact to make sure the export is done and pointed to the right stuff)
Running the application
First, run the development server:
npm run dev
# or
yarn dev
Open http://localhost:3000 with your browser to see the result.
There are fallbacks in place if not, but if you would like to set up your own characters in the story, you'll need to set up your own Hasura database!