hearthstone-ts

CI

TypeScript React Next Node Express Jest MongoDB Docker GitHub Actions Nginx

MERN TypeScript full stack project. Cards data comes from HearthstoneJSON.

Setup:

  1. npm i
  2. Run npm run bootstrap to prepare project.
  3. Run npm run dev to run development.

Client

  • React
  • NextJS (SSG & SSR)
  • React Query & Axios
  • chakra-ui

Server

  • NodeJS
  • Express
  • Unit testing with Jest
  • Mongoose
  • Schema validation with Yup
  • Passport auth (Google & Facebook)

Database

To initialize run from server directory (configured .env file reqired):

 npm run server:migration

CI/CD

  • Docker Compose
  • GitHub Actions

Lerna

Bootstrap project:

Run npm run dev from client and server package: npx lerna run dev --parallel --scope='{client,server}'

Install commons as dependency (after adding "commons": "0.0.1", in package.json dependencies): npx lerna bootstrap