Your personal foreign-language vocabulary.
Add — learn — review. Free.
DrabWords is a web app for building your own vocabulary in any supported language.
- Dictionary — words, translation, transcription, notes
- Review — flashcards and text-to-speech
- Progress — goals and “learned” marks
- Starter lists — ready-made word sets per language
- Account — sign-up and settings
Stack: Nuxt 4 · Vue 3 · Prisma · PostgreSQL · Element Plus
Requirements: Node.js ^20.19 or >=22.12, PostgreSQL (local or cloud — Neon, Supabase, etc.)
git clone <repository-url>
cd <repository-name>
npm installCopy env vars and fill them in:
cp .env.example .env| Variable | Purpose |
|---|---|
DATABASE_URL |
PostgreSQL connection string |
NUXT_SESSION_PASSWORD |
session secret, at least 32 characters |
SALT |
bcrypt rounds (e.g. 10) |
NODE_ENV |
development or production |
Apply the DB schema:
npm run prisma:pushRun the app:
npm run devOpen http://localhost:3000.
| Command | Action |
|---|---|
npm run dev |
development server |
npm run build |
production build |
npm run preview |
preview production build |
npm run check |
type check |
npm run lint |
ESLint |
npm run format |
Prettier |
npm run prisma:push |
apply Prisma schema to the database |