Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LeetCode Recoder

A private bilingual LeetCode study tracker for importing Chinese problem lists and managing daily review.

Tech Stack

  • Framework: Next.js 16 (App Router)
  • Language: TypeScript (strict)
  • Styling: Tailwind CSS v4
  • Icons: Lucide React
  • Validation: Zod
  • Database: PostgreSQL + Prisma 7 (@prisma/adapter-pg + pg)
  • Testing: Vitest

Start with Docker

Docker runs both the application and PostgreSQL. The first startup builds the application image and applies committed database migrations automatically.

npm start

Open http://localhost:3000. Keep the command running to see application logs, and press Ctrl+C to stop the foreground processes. To stop and remove the containers later:

npm run stop

Database data remains in the pgdata Docker volume across restarts. Startup does not seed sample data; use docker compose exec app npm run db:seed when you explicitly want to seed the database.

Local Development

# Start PostgreSQL
docker compose up -d postgres

# Copy and configure environment
cp .env.example .env
# Edit .env if needed (defaults match docker-compose.yml)

# Install dependencies and generate Prisma client
npm install

# Run database migrations
npx prisma migrate dev

# Seed the database
npx prisma db seed

# Start development server
npm run dev

Without Database (Testing Only)

Most tests mock @prisma/client and do not require a running database.

npm install
npm run test:run

Scripts

  • npm run dev — Start development server
  • npm start — Build and run the application and PostgreSQL with Docker
  • npm run start:local — Start an existing local production build
  • npm run stop — Stop and remove the Docker containers
  • npm run build — Production build
  • npm run lint — ESLint
  • npm run test — Vitest watch mode
  • npm run test:run — Vitest single run
  • npm run db:generate — Generate Prisma client
  • npm run db:migrate — Run Prisma migrations (dev)
  • npm run db:deploy — Apply committed Prisma migrations (production)
  • npm run db:seed — Seed database with curated problem lists

Security Warning

No authentication. This project is designed for local/personal use only. Do not expose it to the internet without adding authentication middleware.

Project Structure

  • app/ — Next.js App Router pages and API routes
  • components/ — React components
  • lib/ — Shared utilities, persistence layer, Zod schemas
  • prisma/ — Schema, migrations, seed script
  • design-system/ — Visual design rules and tokens

About

A private bilingual LeetCode study tracker for importing Chinese problem lists, organizing practice, and managing daily reviews. Also tracks job applications, company outreach, follow-ups, and interview rounds.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages