97 Commits
Author SHA1 Message Date
LaurensBartelds 993265318b feat: integrate AI grading functionality
Test / backend (push) Successful in 16s
Test / frontend (push) Successful in 24s
Release Pipeline / build-and-release (push) Successful in 5m22s
- Added OpenAI package to backend dependencies for AI grading.
- Implemented new grading routes and services to handle AI grading requests.
- Updated admin settings to include AI provider configuration options.
- Enhanced frontend components to support AI grading, including UI for testing AI connection and displaying AI feedback.
- Updated results component to allow for AI-assisted grading and display of suggested grades.
- Added internationalization support for new AI grading features in both English and Dutch.
v0.0.21
2026-05-02 12:41:53 +02:00
LaurensBartelds f40f4508fd feat: add missing step to add OrangePi to known_hosts in deployment workflow
Test / backend (push) Successful in 14s
Test / frontend (push) Successful in 24s
Release Pipeline / build-and-release (push) Successful in 5m21s
v0.0.20
2026-04-27 20:41:30 +02:00
LaurensBartelds 95cf0db5a4 feat: add retake attempt functionality and update translations for retake button
Test / backend (push) Successful in 15s
Test / frontend (push) Successful in 27s
Release Pipeline / build-and-release (push) Successful in 5m24s
v0.0.19
2026-04-27 20:22:17 +02:00
LaurensBartelds 028c732716 feat: add redo functionality for failed exam questions and update translations
Test / backend (push) Successful in 14s
Test / frontend (push) Successful in 24s
2026-04-27 20:15:28 +02:00
LaurensBartelds acbcfde617 feat: add storage management features including user storage quota and usage tracking
Test / backend (push) Successful in 13s
Test / frontend (push) Successful in 24s
- Updated database schema to include `storage_quota_bytes` and `plan` for users.
- Implemented storage usage calculations in `storageRepo` and added tests for storage functionality.
- Created `StorageManager` component to display and manage user storage.
- Enhanced user settings to show storage details and warnings for high usage.
- Added translations for new storage-related strings in English and Dutch.
- Updated styles for storage overview and details in CSS.
2026-04-27 15:29:43 +02:00
LaurensBartelds c002f42459 Merge pull request 'feat: implement retake exam functionality and update translations for exam status' (#2) from fixes into main
Test / backend (push) Successful in 17s
Test / frontend (push) Successful in 34s
Reviewed-on: #2
2026-04-27 13:08:22 +02:00
LaurensBartelds 6dd87972f6 feat: update settings management to use site_name and add batch update schema
Test / backend (push) Successful in 13s
Test / frontend (push) Successful in 33s
2026-04-27 13:06:01 +02:00
LaurensBartelds 1b5fd04040 feat: enhance security with token blacklisting and input sanitization; add helmet for security headers
Test / backend (push) Successful in 15s
Test / frontend (push) Successful in 24s
2026-04-27 12:52:57 +02:00
LaurensBartelds 4935251125 feat: implement retake exam functionality and update translations for exam status
Test / backend (push) Successful in 12s
Test / frontend (push) Successful in 23s
2026-04-27 11:28:01 +02:00
LaurensBartelds f794dacd2d feat: add JWT_SECRET to deployment and create .env file for environment variables
Release Pipeline / build-and-release (push) Successful in 5m4s
Test / backend (push) Successful in 14s
Test / frontend (push) Successful in 23s
v0.0.18
2026-04-27 01:02:17 +02:00
LaurensBartelds 99ac7a7fae Merge branch 'main' of https://git.gzmn.nl/LaurensBartelds/brainwave
Test / backend (push) Successful in 13s
Test / frontend (push) Successful in 24s
Release Pipeline / build-and-release (push) Successful in 5m5s
v0.0.16 v0.0.17
2026-04-27 00:24:42 +02:00
LaurensBartelds 0b62723226 refactor: update Node.js version to 22 and adjust npm install commands for consistency 2026-04-27 00:24:25 +02:00
LaurensBartelds af317058fb Merge pull request 'feat: Implement API modules for admin, auth, exam, result, and setup functionalities' (#1) from refactor into main
Test / backend (push) Successful in 12s
Test / frontend (push) Successful in 23s
Reviewed-on: #1
2026-04-27 00:11:28 +02:00
LaurensBartelds 95603f93a0 refactor: update result schemas and tests for improved state management and feedback modes
Test / backend (push) Successful in 13s
Test / frontend (push) Successful in 24s
Release Pipeline / build-and-release (push) Failing after 6s
v0.0.15
2026-04-26 23:54:56 +02:00
LaurensBartelds ae8a01bc54 refactor: remove max-width constraint from workspace main layout 2026-04-26 23:31:20 +02:00
LaurensBartelds 2b7939d478 feat: enhance exam loading functionality with examId support and update UI components
Test / backend (push) Successful in 14s
Test / frontend (push) Successful in 24s
2026-04-26 23:25:24 +02:00
LaurensBartelds 50efba6f34 feat: implement tweaks context for user preferences and remove TweaksPanel component
Test / backend (push) Successful in 12s
Test / frontend (push) Successful in 23s
2026-04-26 23:16:21 +02:00
LaurensBartelds 92c1de650a feat: add language selection feature to settings and update translations
Test / backend (push) Successful in 13s
Test / frontend (push) Successful in 23s
2026-04-26 23:04:39 +02:00
LaurensBartelds 83bb412b35 feat: enhance setup process with SMTP configuration and token generation
Test / backend (push) Successful in 12s
Test / frontend (push) Successful in 23s
fix: require authentication for certain routes and improve exam data handling
chore: update .gitignore to include additional database files
2026-04-26 22:53:00 +02:00
LaurensBartelds ca9c646b65 chore: remove SQLite database files brainwave.db-shm and brainwave.db-wal
Test / backend (push) Successful in 13s
Test / frontend (push) Successful in 23s
2026-04-26 22:52:51 +02:00
LaurensBartelds 51e972d994 fix: add brainwave.db-shm to .gitignore to prevent tracking of local database file
Test / backend (push) Successful in 13s
Test / frontend (push) Successful in 23s
2026-04-26 22:31:04 +02:00
LaurensBartelds 2907197308 fix: update npm ci command to include --legacy-peer-deps for frontend job
Test / backend (push) Successful in 13s
Test / frontend (push) Successful in 24s
2026-04-26 22:01:45 +02:00
LaurensBartelds e9c0a2615a feat: add i18next and react-i18next for internationalization support
Test / backend (push) Successful in 12s
Test / frontend (push) Failing after 5s
2026-04-26 21:59:06 +02:00
LaurensBartelds 98bba73192 fix: update comments in latex utility and refactor variable declaration for clarity
Test / backend (push) Successful in 13s
Test / frontend (push) Failing after 16s
2026-04-26 21:53:37 +02:00
LaurensBartelds 739133e1f4 feat: update dependencies and add dotenv, express-rate-limit, and zod; enhance adminSchemas validation
Test / backend (push) Successful in 14s
Test / frontend (push) Failing after 13s
2026-04-26 21:49:02 +02:00
LaurensBartelds ef8fe6f938 feat: enhance testing framework with new test cases and configurations
Test / backend (push) Failing after 9s
Test / frontend (push) Failing after 14s
2026-04-26 21:45:02 +02:00
LaurensBartelds a37c093cc4 feat: add CI workflow for backend and frontend tests
Test / backend-tests (push) Failing after 9s
Test / frontend-tests (push) Successful in 9s
2026-04-26 21:23:14 +02:00
LaurensBartelds 6277826472 Add internationalization support with English and Dutch translations
- Integrated i18next for language detection and translation support.
- Added English and Dutch JSON translation files for various app sections.
- Updated TweaksPanel and Workspace components to use translated strings.
- Imported i18n configuration in main entry file.
2026-04-26 21:19:47 +02:00
LaurensBartelds c64cdcd9e3 feat: Implement API modules for admin, auth, exam, result, and setup functionalities
- Created adminApi.ts for admin-related operations including user management and site settings.
- Developed authApi.ts for authentication processes such as registration, login, and profile management.
- Added examApi.ts for handling exam CRUD operations.
- Introduced resultApi.ts for managing results submission and retrieval.
- Established setupApi.ts for initial setup processes and status checks.
- Created ErrorBoundary component to handle rendering errors gracefully in the frontend.
- Re-exported shared API utilities in index.ts for easier access.
2026-04-26 20:10:46 +02:00
LaurensBartelds 62af83ce53 feat: add MyExams, MyResults, Settings, and Workspace components
Release Pipeline / build-and-release (push) Failing after 41s
- Implemented MyExams component for managing user exams, including loading, deleting, and creating new exams.
- Created MyResults component to display user results with options to review and delete results.
- Developed Settings component for updating user display name and changing password.
- Introduced Workspace component to serve as a container for MyExams, MyResults, and Settings, with navigation between tabs.
v0.0.14
2026-04-25 20:20:23 +02:00
LaurensBartelds ad777ef1c3 feat: implement setup wizard for initial configuration and user registration 2026-04-25 16:48:23 +02:00
LaurensBartelds f7b93f8612 feat: enhance user registration with email verification configuration and status handling 2026-04-25 16:31:27 +02:00
LaurensBartelds 4f33444653 fix: update exam route parameter format and improve question index calculation
Release Pipeline / build-and-release (push) Successful in 5m29s
v0.0.13
2026-04-25 16:18:07 +02:00
LaurensBartelds 29d9264cfb feat: optimize state updates using flushSync for smoother exam transitions
Release Pipeline / build-and-release (push) Successful in 5m52s
v0.0.12
2026-04-25 13:30:34 +02:00
LaurensBartelds 107ebf4d47 feat: implement admin dashboard with site settings, user management, and activity monitoring 2026-04-25 00:14:57 +02:00
LaurensBartelds 4eeacc38c5 feat: replace screen state machine with React Router v7 URL routing
Release Pipeline / build-and-release (push) Successful in 5m24s
- Install react-router-dom
- Add slugify utility with full TDD test suite (7 tests)
- Wrap app in BrowserRouter in main.tsx
- Add optional onNavigate prop to ExamRunner.goTo
- Create ExamRoute component (deep-link restore + back/forward sync)
- Migrate App.tsx: replace screen useState with <Routes>, all setScreen()
  calls replaced with navigate(), add activateExam for deep-link activation,
  use useLocation for verify/reset-password special layouts
- Remove unused AppScreen type from types.ts
v0.0.10 v0.0.11
2026-04-24 23:55:52 +02:00
LaurensBarteldsandClaude Sonnet 4.6 e97d90e316 docs: add React Router URL routing implementation plan
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 23:48:23 +02:00
LaurensBarteldsandClaude Sonnet 4.6 1c13f4849a docs: add React Router URL routing design spec
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 23:39:06 +02:00
LaurensBartelds 40fe1479f9 fix: update SSH key handling in deploy workflow to remove unnecessary transformations
Release Pipeline / build-and-release (push) Successful in 5m41s
v0.0.9
2026-04-24 23:02:21 +02:00
LaurensBartelds 7b4288fe86 fix: update route handling for static files to improve frontend serving
Release Pipeline / build-and-release (push) Successful in 5m36s
v0.0.8
2026-04-24 22:52:53 +02:00
LaurensBartelds 9539e3d740 feat: refactor SSH key handling in deploy workflow to use ssh-agent 2026-04-24 22:35:45 +02:00
LaurensBartelds 10ce58fdfe feat: update deploy workflow to enhance SSH key handling and add git status checks 2026-04-24 22:30:38 +02:00
LaurensBartelds aeed804460 feat: enhance permissions in settings.local.json and update deploy workflow for SSH key handling 2026-04-24 22:20:08 +02:00
LaurensBartelds e21610880b Update release workflow: quotes and asset uploads
Release Pipeline / build-and-release (push) Successful in 5m14s
v0.0.7
2026-04-24 16:49:27 +02:00
LaurensBartelds 13bebba16e feat: add Gitea workflow for automated release building and asset publishing
Release Pipeline / build-and-release (push) Failing after 5m13s
v0.0.6
2026-04-24 16:05:53 +02:00
LaurensBartelds 98b9d51d83 feat: add Gitea Actions workflow for automated multi-arch Docker image releases
Release Pipeline / build-and-release (push) Failing after 4s
v0.0.4 v0.0.5
2026-04-24 16:01:32 +02:00
LaurensBartelds 5b7d31cb34 feat: add Gitea Actions release pipeline to build and publish Docker images
Release Pipeline / build-and-release (push) Failing after 5m56s
v0.0.3
2026-04-24 15:52:03 +02:00
LaurensBartelds 376f244035 fix: update permissions in settings.local.json and add .claude/settings.local.json to .gitignore
Release Pipeline / build-and-release (push) Failing after 4m22s
v0.0.2
2026-04-24 10:47:24 +02:00
LaurensBarteldsandClaude Sonnet 4.6 c4e6219606 fix: revert release creation to softprops/action-gh-release@v2 (without generate_release_notes)
Manual curl approach silently dropped large tar.gz files due to Gitea's
attachment size limit. The action handles large file uploads correctly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 10:46:56 +02:00
LaurensBarteldsandClaude Sonnet 4.6 34410a9cb8 fix: add verbose output to release asset uploads for debugging
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 10:44:14 +02:00