Skip to content

Latest commit

 

History

History
73 lines (56 loc) · 2.58 KB

File metadata and controls

73 lines (56 loc) · 2.58 KB

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

Hebrew Software QA Test Preparation Platform - A mobile-first React application for university students preparing for Software Quality Assurance certification exams. The application is entirely in Hebrew with RTL support.

Development Commands

# Install dependencies
npm install

# Start development server (runs on http://localhost:5173/)
npm run dev

# Build for production
npm run build

# Run linter
npm run lint

# Preview production build
npm run preview

Architecture & Key Patterns

State Management

  • Zustand with persistence for global state (src/store/useStore.ts)
  • Store handles: user profiles, study progress, test results, bookmarks, dark mode
  • State persists to localStorage under key 'qa-test-prep-storage'

Routing Structure

  • React Router with basename configuration for GitHub Pages deployment
  • Routes: /, /study, /practice, /test, /progress (placeholder), /profile (placeholder)
  • Bottom navigation component persistent across all pages

Component Architecture

  • Pages: Main route components (Home, Study, Practice, Test)
  • Components: Reusable UI components (BottomNav, QuestionCard, TopicCard)
  • Data: Static question bank and topics in TypeScript files
  • Mobile-first design with 44px minimum touch targets

Styling Approach

  • Tailwind CSS with custom configuration
  • Dark mode support via class toggle on document.documentElement
  • RTL-first design for Hebrew content
  • Framer Motion for animations
  • Lucide React for icons

Type System

  • Centralized type definitions in src/types/index.ts
  • Key types: UserProfile, TestResult, StudyProgress, Question, Topic
  • Full TypeScript coverage with strict typing

Build & Deployment

  • Vite as build tool with React plugin
  • Base path configured as '/qa-test-prep/' for GitHub Pages
  • GitHub Actions workflow for automatic deployment to Pages on main branch push
  • Production build outputs to dist/ directory

Testing Approach

No test framework currently configured. When implementing tests, consider the application's focus on:

  • Question/answer validation logic
  • Progress tracking calculations
  • State persistence and recovery
  • RTL layout compatibility

Data Structure

  • Questions and topics are stored as static TypeScript arrays in src/data/
  • Each question has: id, text, options array, correctAnswer index, explanation, topicId
  • Topics have: id, title, description, icon name, color scheme