- 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: 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: enhance sketch board functionality for mobile, enabling full-screen drawing and submission for unit quizzes
- 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.
14 days ago
Grade handwritten answers automatically after upload
Your Name
bc8af21
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.