Source code for Stormbound-Kitty.
- Analytics
- CMS
- Discord Bot
- Formulas
- Game overlap
- Known issues
- Monitoring
- Performance
- Release notes
- Security
- Workflows
- Code of Conduct
- Framework: Next.js
- Styling: Fela
- CI/CD: GitHub Worklows
- Hosting: Vercel (via an open-source sponsorship)
- Monitoring: Checkly
- Testing: Jest unit tests and Cypress end-to-end tests (via an open-source plan)
- Analytics: Vercel Analytics
- URL shortening: Cutt.ly (via an open-source sponsorship)
- CMS: Sanity (via an open-source plan)
- Discord bot hosting: Heroku
The site runs with Next. Therefore, it uses Node.js (version 18). It is recommended to install nvm (or nvm-windows) to manage Node versions, but it’s not mandatory, as long as Node 18 is installed on the machine.
Then run the following commands to install the local dependencies and start the development server:
npm install
npm start
On a M1 machine, it maybe necessary to install a certain amount of libraries via Homebrew prior the first npm install
in order to provide the necessary dependencies for node-canvas
:
brew install pkg-config cairo pango libpng jpeg giflib librsvg
Unit tests are authored and ran with Jest, while end-to-end tests are executed via Cypress.
npm test
npx cypress open
To run the CMS locally, make sure you have Yarn installed then:
cd cms
yarn
npm start
For the preview to work locally, both the local website and the local CMS need to run with the same SANITY_STUDIO_PREVIEW_TOKEN
environment variable. Set it in .env
for the Next app, and run the npm start
command of the CMS passing it the environment variable:
SANITY_STUDIO_PREVIEW_TOKEN=YourValueHere npm start