Welcome to the documentation for the Qwerty Learner project! This monorepo contains both the frontend (web) and backend (server) applications, designed for efficient vocabulary learning and management.
qwerty-learner-next/
├── web/ # Frontend (React, Vite, TypeScript)
├── server/ # Backend (NestJS, TypeORM, PostgreSQL)
└── docs/ # Documentation
- Modern web frontend with React, Vite, Zustand, Jotai, MUI Joy, and more
- RESTful backend API with NestJS, TypeORM, PostgreSQL
- User authentication, vocabulary management, error book, statistics, and more
- Internationalization (i18n)
- E2E and unit tests
- Dockerized deployment
- CI/CD ready
See Setup & Development for detailed instructions.
- Node.js >= 20.10.0
- pnpm >= 9.5.0
pnpm install
cd web
pnpm dev
cd server
cp .env.example .env
pnpm start:dev
See Deployment Guide.
See Development Guide and Conventions.
- React 19, Vite, TypeScript
- Zustand, Jotai, TanStack Query/Router/Table
- MUI Joy, @tabler/icons-react, Radix UI
- ECharts, Dexie, SWR, i18next, Playwright
- NestJS 10, TypeScript
- TypeORM, PostgreSQL
- @nestjs-modules/mailer, BullMQ, Swagger
- Jest, ESLint, Prettier, Docker
MIT