- Introduced detailed specifications for exercise tests to enhance student practice under test conditions.
- Established a unified grading system across quizzes and tests, ensuring consistent evaluation.
- Defined the learning path structure, emphasizing skill mastery and navigation.
- Created lesson quizzes that allow retakes and provide feedback on skill performance.
- Implemented a readiness meter to assess student preparedness for upcoming tests.
- Added functionality for teachers to set and manage real tests within the app.
- Developed a rewards system to motivate student engagement and practice.
- Specified requirements for simulation tests to provide students with a rehearsal for real tests.
- Outlined skill mastery criteria to ensure accurate tracking of student progress.
- Designed a smart board feature for interactive problem-solving and submission of solutions.
- Enhanced the student home screen to streamline access to tasks and upcoming tests.
- Implemented a countdown plan…
8 days ago
feat: implement prompter functionality with save, edit, and delete features, including API routes and tests
- Implement tests for retrieving a student's assignments, focus practices, finals, and returned worksheets in `test_my_tasks.py`.
- Ensure that the task list correctly reflects only the student's assignments and submissions.
- Add tests for quiz modes in `test_quiz_modes.py`, covering final quiz windows, sitting management, and grade release processes.
- Validate that only the class teacher can open final quiz windows and that practice is blocked while a final is active.
- Test the handling of photo submissions and the behavior of quiz sittings after deadlines.
9 days ago
Add end-to-end tests for worksheets functionality with Playwright
- Implement tests for teacher and student interactions with assignments and worksheets.
- Cover scenarios including PDF upload, photo submissions, grading, and worksheet removal.
- Ensure proper handling of errors and UI feedback during the workflow.
- Validate the visibility of classes and assignments for teachers and students.
10 days ago
Add tests for drafting and reviewing student answers
- Implement tests for the drafting of worked examples in `test_draft_examples.py`, ensuring well-formed drafts are generated for skills without examples, and that the model's responses are validated.
- Create tests in `test_teacher_review.py` to cover the teacher's review process of student answers, including handling review requests, score validation, and ensuring proper access control for teachers and students.
- Ensure that the tests cover various scenarios, including error handling and edge cases, to maintain robustness in the review and drafting functionalities.
feat: implement server-side grading for unit quizzes
- Added `math_quiz_sittings` table to store quiz sittings on the server.
- Introduced functions `math_quiz_sitting_json` and `math_quiz_action` for handling quiz data.
- Updated `sitting_view` to compute grades based on stored attempts and checks.
- Enhanced tests to validate the new grading logic and ensure correct behavior of quiz sittings.
- Modified existing tests to reflect changes in quiz grading and reporting.
feat: add AI queue for math requests, including database migration and tests
- Implemented a new table `math_ai_requests` to handle student requests for AI assistance in math problems.
- Created tests for the AI queue functionality, ensuring proper request handling and state management.
- Added browser tests to verify the user guide's accessibility and functionality for both students and teachers.
- Developed a class report feature for teachers to view student progress and grades.
11 days ago
feat: implement AI usage tracking and monitoring for Claude API calls
- Added science.css for styling the science path and its voting interface.
- Implemented science.js to handle the riddle voting logic, including room management and vote processing.
- Created a new database table `math_progress` to track student progress across devices.
- Developed tests for the progress tracking and science voting functionalities, ensuring proper behavior and error handling.
Implement push notifications for photo requests from computer to phone
- Added push notification functionality in app/push.py to notify phones when a photo of an answer is requested from the computer.
- Created a new service worker (static/service-worker.js) to handle push notifications.
- Introduced a new database table (supabase/migrations/20261103180000_math_push_subs.sql) to store push subscriptions.
- Updated the frontend (static/math.js, static/math.css) to remove phone pairing functionality and adjust UI accordingly.
- Removed related tests (tests/test_phone_browser.py) and added new tests for push notifications (tests/test_push.py).
- Ensured proper handling of push subscription lifecycle and error cases.
feat: add misconception patterns tracking and UI enhancements
- Introduced a new log for tracking misconceptions across multiple-choice answers, capturing details such as skill, question, and activity type.
- Implemented a "patterns that come back" card on the math home screen to display recurring misconceptions, enhancing student feedback.
- Developed a patterns sheet that shows detailed information about misconceptions, including tips and practice links.
- Updated the UI to reflect these changes, ensuring a consistent user experience.
- Added tests to validate the new functionality and ensure existing features remain unaffected.
- Modified database schema to accommodate new scan states for answer submissions.
13 days ago
feat: add lesson resources feature for teachers to photograph and manage unit resources
Your Name
8e0e8fe
- Implemented frontend components in math.js and math.css for resource management.
- Created backend API in unit_resources.py to handle resource storage and retrieval.
- Added database migration for math_unit_resources table to store resource metadata.
- Developed tests for resource management functionality, including adding, listing, and deleting resources.
- Enabled teachers to photograph exercises and explanations, with appropriate permissions and validations.
Additive migration stores exam schedules on classes. Unit subjects drive subject selection and route learners into the matching path.
feat: Implement grading functionality for handwritten answers
Your Name
6f5ba40
- Added `grade` method to `AnswerScans` class for initiating grading actions.
- Enhanced error handling for grading limits and busy states in the grading process.
- Updated `public_result` function to clean up grading-related fields from results.
- Introduced new grading verification tests to ensure correct behavior of grading API.
- Created `AnswerGrader` class to handle grading logic and validation of assessment results.
- Added database migration for `math_answer_grades` table to store grading results.
- Updated front-end JavaScript to handle grading states and display results appropriately.
- Enhanced CSS styles for grading feedback display.
- Implemented comprehensive tests for grading functionality, including edge cases and error handling.
feat: add additive answer-scanning schema and related functionality
Your Name
f14ef69
- Introduced new JavaScript file for shared camera preparation for answer scans.
- Created new tables in the Supabase database for managing math question attempts, answer scans, and attachments.
- Implemented row-level security and policies for data access control.
- Added a new RPC function for handling answer scans, including actions for creating, confirming, and finalizing scans.
- Developed tests for the new functionality, ensuring proper handling of answer scans, including retries and error management.
- Established a local testing environment with PostgreSQL and integrated Playwright for end-to-end testing of the answer scanning process.