10 Commits

Author SHA1 Message Date
449adc60e0 feat: dark mode and python 3.14 2025-12-10 11:36:40 +01:00
3fdbfcf20e feat: replace checkbox with radio buttons for exercise type selection
- Replace the checkbox "Générer uniquement des multiplications" with radio buttons for "Multiplications uniquement" and "Multiplications ET divisions"
- Update JavaScript code to handle radio button values instead of checkbox
- Maintain backward compatibility with old localStorage format
- Ensure all functionality remains intact
2025-10-07 08:46:38 +02:00
21c9bfd359 feat: implement localStorage for form parameter persistence
- Add saveFormValues() function to store all form parameters in localStorage
- Add restoreFormValues() function to retrieve form parameters from localStorage
- Modify DOMContentLoaded event to restore form values on page load
- Add calls to saveFormValues() in both form submission handlers
- Add event listeners to save form values whenever any input changes

This enhancement improves user experience by preserving form settings between visits.
2025-10-07 08:29:42 +02:00
3d720ff426 feat: add configurable max_first_operand for multiplication exercises with randomized operand order 2025-10-07 08:23:34 +02:00
bc55b95bda feat: permit to generate only multiplications 2025-10-07 07:55:18 +02:00
28b1c80b50 feat: add operation exercises generation using gen_op.py
Moved gen-op.py to app/gen_op.py and integrated it with the FastAPI application

Added a new section in the UI for generating operation exercises

Updated the PDF generation to work in memory and upload to S3

Bumped version to 1.0.9
2025-09-25 19:10:13 +02:00
3c07c89f24 feat: add pagination to file listing and improve UI 2025-09-03 23:07:02 +02:00
75548dab2b feat: migrate to S3 storage with automatic download and timestamped filenames
- Replace local file storage with S3-compatible object storage

- Add automatic PDF download after generation

- Include timestamps in filenames to ensure uniqueness

- Remove unused static volume from Kubernetes deployment

- Update ConfigMap to remove unused variables and add S3 configuration

- Configure S3 credentials via Kubernetes secrets for both dev and prod environments

- Add boto3 dependency for S3 integration
2025-09-03 22:41:16 +02:00
f94dd12216 feat: Configure production deployment with math-tables namespace and ingress
Changes made:

- Remove problematic configuration-snippet from base ingress

- Add namespace creation for math-tables

- Configure ingress with nginx class and letsencrypt-prod issuer

- Set production hostname to math-tables.cl1.parano.ch

- Reduce production replicas to 1

- Update copyright year in index.html
2025-09-03 22:06:32 +02:00
fd2f296f44 feat: add web interface for math exercise generator
- Create FastAPI backend with endpoints for generating math exercises
- Build Bootstrap frontend with responsive UI for exercise configuration
- Implement PDF generation functionality identical to original script
- Add README with installation and usage instructions
- Update requirements.txt with web dependencies
- Configure .gitignore to exclude compiled files and generated PDFs
2025-09-03 21:25:45 +02:00