A React-based SAT practice application with 276 authentic SAT math questions sourced from College Board materials.
satProjectV2/
├── sat-practice-app-1/ # Main application
│ ├── frontend/ # React frontend application
│ │ ├── src/
│ │ │ ├── components/ # React components
│ │ │ ├── data/ # Question data (mathQuestions.ts, satQuestions.ts)
│ │ │ ├── pages/ # Page components
│ │ │ ├── styles/ # Typography and styling
│ │ │ └── utils/ # Utility functions
│ │ ├── public/ # Static assets
│ │ └── package.json # Dependencies
│ └── archive/ # Archived files and documentation
├── bigSatMath.pdf # Source material
├── bigSatverbal.pdf # Source material
└── MathQuestionSat.txt # Extracted questions text
- 276 Authentic SAT Questions: Sourced from official College Board materials
- Domain Filtering: Filter questions by math domains (Algebra, Geometry, Advanced Math, etc.)
- Visual Elements: Questions include graphs, tables, and diagrams
- Progress Tracking: Track answers and performance by domain/skill
- Modern UI: Clean, responsive interface with typography system
- Node.js (v14 or higher)
- npm or yarn
-
Navigate to the frontend directory:
cd sat-practice-app-1/frontend -
Install dependencies:
npm install
-
Start the development server:
npm start
-
Open http://localhost:3000 to view the app.
The app uses two main data files:
mathQuestions.ts: Contains all 276 SAT math questions with metadatasatQuestions.ts: Main export that provides filtered/shuffled questions to the app
Questions include:
- Text content
- Multiple choice options
- Correct answers
- Domain/skill categorization
- Difficulty levels
- Visual elements (graphs, tables, diagrams)
- Frontend: React + TypeScript
- Styling: Custom typography system with modern design
- Data Management: Static question data with TypeScript interfaces
- State Management: React hooks for component state
Practice.tsx: Main practice page with question display and filteringQuestionDisplay.tsx: Individual question rendering with visual elementsQuestionFilter.tsx: Domain filtering interfaceQuestionStats.tsx: Statistics and progress tracking
Each question follows this interface:
interface Question {
id: string;
text: string;
category: 'math' | 'verbal';
domain: string;
skill: string;
difficulty: 'easy' | 'medium' | 'hard';
options: string[];
correctAnswer: string;
visual?: string;
visualElement?: VisualElement;
source: string;
}Historical files, documentation, and unused code are stored in the archive/ directory:
documentation/: Development logs and completion summariesunused-data/: Old question data filestemp-scripts/: Processing and migration scriptsold-backend/: Previous backend implementation
- Keep question data in
src/data/mathQuestions.ts - Use the typography system from
src/styles/typography.ts - Follow the existing component structure
- Archive unused files rather than deleting them
This project contains SAT questions sourced from College Board materials for educational purposes.