In this course, we'll walk through a step-by-step guide using the Tasker application as our example. Tasker is a task management app built with Next.js, structured as a PNPM workspace monorepo. The monorepo contains the Next.js application which is modularized into packages that handle data access via Prisma to a local DB, UI components, and more.
Throughout the course, we'll take incremental steps to enhance the monorepo:
- Adding Nx
- Configuring and fine-tuning local caching
- Defining task pipelines to ensure correct task execution order
- Optimizing CI configuration with remote caching
- Adjusting the current CI configuration to enable task distribution
- Splitting and parallelizing Playwright e2e tests to reduce execution time from 20 minutes to 9 minutes