https://en.wikipedia.org/wiki/Mastermind_(board_game)
This project uses NPM Scripts to execute repeatable tasks. GitHub Actions run linting and testing processes when a pull request is opened on the main branch.
This project consists of three main parts:
- React app deployed via GitHub Pages
- Netlify Edge Functions
- Postgres DB using NeonDB and Drizzle ORM (codebreaker & codebreaker-dev)
- Install dependencies:
npm install - Install browsers for Playwright tests:
npm run setup - Run frontend app:
npm start - Run Netlify edge functions + frontend app:
npm run api - Build frontend app:
npm run build - Preview the frontend build:
npm run preview - Deploy frontend app - happens automatically for any changes to
/docsonmainbranch (via GitHub Pages) - Run unit tests:
npm test - Run integration tests:
npm run e2e - Linting:
npm run lint - To generate new migrations:
npm run generate - To run migrations on dev DB:
npm run migrate:dev - To run migrations on prod DB:
npm run migrate - To build Netlify edge functions:
npm run build:api - Authenticate with Netlify to allow deploying via the CLI:
npm run auth - To deploy Netlify edge functions:
npm run deploy - Update Netlify env variables:
npm run env