An AP Classroom-style practice platform for Algebra 1 End of Course exam preparation
A full-featured educational platform designed to help students prepare for the Algebra 1 End of Course (EOC) exam. Built with a modern full-stack architecture, the platform supports both student and teacher workflows with AI-powered feedback, unlimited practice questions, timed exams, analytics, and more.
- Unlimited, Non-Repeating Questions -- Dynamically generated math questions with fingerprint tracking ensure students never see the same problem twice across any activity
- AI-Powered Micro-Mistake Detection -- Together AI integration analyzes student work and provides detailed, targeted feedback on specific algebraic errors
- Timed EOC Exam Simulations -- Full practice test mode with countdown timer, question flagging, and navigation grid mimicking real exam conditions
- Cumulative Analytics -- Performance tracking aggregates data from all activities (practice, tests, quizzes, assignments) into unified dashboards and charts
- Role-Based Experience -- Separate dashboards and workflows for students and teachers
| Feature | Description |
|---|---|
| Topic Practice | Practice questions across all 9 Algebra 1 domains with instant feedback, hints, and step-by-step explanations |
| Practice Tests | Timed EOC exam simulations with configurable question counts (10-50), countdown timer, question flagging, and detailed score reports |
| AI Mistake Detection | Submit written work for AI analysis that identifies specific error types, provides severity ratings, and suggests corrections |
| Micro Pop-up Quizzes | Quick 5-question quizzes per topic with a 60-second time limit for rapid self-assessment |
| Performance Analytics | Interactive charts showing daily performance trends, topic mastery radar, accuracy breakdowns, and identified strengths/weaknesses |
| Progress Tracking | Mastery levels per topic, cumulative statistics, and visual progress rings |
| Messaging | Direct communication with teachers for questions and feedback |
| Progress Reports | Exportable/printable progress reports with certificate of completion for 80%+ mastery |
| Feature | Description |
|---|---|
| Class Dashboard | Overview of total students, daily activity, class average progress, and total questions solved |
| Student Analytics | Individual student performance data with mastery levels, accuracy rates, and activity history |
| Custom Assignments | Create targeted assignments by selecting topics, question counts, and due dates |
| Assignment Tracking | Monitor student completion rates, scores, and submission status |
| Messaging | Send feedback, encouragement, and guidance to individual students |
All 9 core Algebra 1 EOC domains are fully supported with topic-specific question generators:
- Linear Equations and Inequalities -- Solving single-variable equations, graphing inequalities
- Systems of Linear Equations -- Substitution and elimination methods
- Quadratic Functions and Equations -- Quadratic formula, factoring, graphing parabolas
- Polynomials and Factoring -- Expanding, factoring trinomials, difference of squares
- Exponential Functions -- Growth/decay, solving exponential equations
- Radical Expressions -- Simplifying radicals, solving radical equations
- Rational Expressions -- Simplifying, operations with rational expressions
- Functions and Relations -- Function evaluation, domain/range, function notation
- Statistics and Data Analysis -- Mean, median, mode, data interpretation
- Probability -- Basic probability, compound events, expected value
- React 18 with TypeScript
- Wouter for client-side routing
- Shadcn UI + Radix UI for accessible components
- Tailwind CSS for styling with dark mode support
- Recharts for interactive performance charts
- TanStack Query (React Query) for data fetching and caching
- React Hook Form + Zod for form validation
- Node.js with Express
- Drizzle ORM for type-safe database operations
- PostgreSQL (Neon) for data persistence
- Replit Auth (OpenID Connect) for authentication
- Together AI API for micro-mistake detection
- Educational blue color scheme (HSL 220, 85%, 45%)
- Inter font for UI, JetBrains Mono for math expressions
- Responsive layout with mobile support
- Dark mode with smooth transitions
client/ # React frontend
src/
components/ # Reusable UI components (Shadcn)
hooks/ # Custom React hooks
lib/ # Utilities (API client, query config)
pages/ # Page components
student-dashboard # Student home with topic grid & stats
teacher-dashboard # Teacher home with class overview
practice # Individual topic practice
practice-test # Timed EOC exam simulation
assignments # Teacher create / student submit
analytics # Performance charts & insights
messages # Teacher-student messaging
progress # Progress tracking
progress-report # Exportable reports & certificates
server/ # Express backend
routes.ts # API endpoint definitions
storage.ts # Database operations (Drizzle ORM)
questionGenerators.ts # Topic-specific math question generators
replitAuth.ts # Authentication middleware
db.ts # Database connection
vite.ts # Vite dev server integration
shared/
schema.ts # Database schema & Zod validation types
| Table | Purpose |
|---|---|
users |
User accounts with role (student/teacher) |
topics |
Algebra 1 topic definitions |
attempts |
Individual question attempts with answers |
progress |
Per-topic mastery tracking |
quiz_sessions |
Micro pop-up quiz data |
practice_tests |
Timed exam simulation records |
assignments |
Teacher-created assignments |
assignment_submissions |
Student assignment completions |
messages |
Teacher-student communications |
mistake_analyses |
AI-generated mistake analysis results |
- Node.js 18+
- PostgreSQL database
- Together AI API key (for AI features)
DATABASE_URL=postgresql://...
SESSION_SECRET=your-session-secret
TOGETHER_API_KEY=your-together-ai-key# Install dependencies
npm install
# Push database schema
npm run db:push
# Start development server
npm run devThe app will be available at http://localhost:5000.
GET /api/auth/user-- Get current userPOST /api/user/role-- Set user role (student/teacher)
GET /api/topics-- List all topicsGET /api/questions/generate/:topicId-- Generate unique questionPOST /api/attempts-- Submit answer attempt
POST /api/practice-test/start-- Start timed testPOST /api/practice-test/submit-- Submit completed testGET /api/practice-test/history-- Get test history
GET /api/assignments-- List assignmentsPOST /api/assignments-- Create assignment (teacher)POST /api/assignments/:id/submit-- Submit assignment (student)
GET /api/stats-- Cumulative user statisticsGET /api/analytics-- Detailed performance analyticsGET /api/progress-- Per-topic progress data
GET /api/messages-- Get messagesPOST /api/messages-- Send message
The platform ensures students never encounter the same question twice through a multi-layer approach:
- Fingerprint Tracking -- Every question shown to a user is stored in the database across all activity types (practice, tests, quizzes, assignments)
- Seen Set Construction -- Before generating new questions, the system loads all previously seen question fingerprints for that user
- Unique Generation -- The generator retries with different random parameters until a unique question is produced
- Cross-Activity Deduplication -- Questions are tracked across all contexts, so a question seen in practice will never appear in a test or assignment
MIT License. See LICENSE for details.
Built with React, Express, PostgreSQL, and Together AI
