/flashcard

Primary LanguageTypeScriptMIT LicenseMIT

Fullstack Flashcard Apps With Turborepo

Tech Stack

  • Turborepo
  • TypeScript
  • Next.js
  • GraphQL
  • Prisma
  • MySQL
  • Jest
  • Cypress
  • Testing Library
  • ESLint
  • Prettier

Dependencies

  • Node.js: see .node-version
  • docker-compose: for local development

Get Started

Set up:

$ npm ci
$ npm run setup

Initialize database for apps/api:

$ npm run db:local -w=api
$ npm run db:migrate:dev -w=api

# optional when getting prisma error
$ npm run db:client:gen -w=api

# optional to use dummy data
$ npm run db:seed -w=api

Run dev:

$ npm run dev

Generating types for apps/api

$ npm run codegen -w=api

Testing

Unit testing:

$ npm test

Integration testing:

$ npm run test:integration

# Also it is available to run the tests against development server using Cypress' GUI
$ npm run dev
$ npm run cypress:open -w=web

TODOs

  • [] Authn / Authz
  • [] Renovate
  • [] E2E testing