546 Commits

Author SHA1 Message Date
Aiirondev_dev bb146059f3 Fix HTML syntax error in base.html - remove duplicate > v0.6.1 2026-04-19 14:30:27 +02:00
Aiirondev_dev 78a9d85a4e chore: Remove compiled Python bytecode files from __pycache__ 2026-04-19 14:20:25 +02:00
Aiirondev_dev 21b8aebb91 Add comprehensive test suite for Ausleihung (Borrowing) system
- Create 26 pytest tests covering all core borrowing functionality
- Test status determination (planned → active → completed)
- Test CRUD operations (create, read, update, delete)
- Test conflict detection for overlapping borrowings
- Test full lifecycle scenarios (create → activate → complete)
- Test edge cases (same start/end time, no end date, etc.)
- All tests passing with MongoDB integration
- Add TEST_AUSLEIHUNG.md documentation with usage guide

Test Coverage:
- Status Determination: 5 tests
- CRUD Operations: 8 tests
- Conflict Detection: 3 tests
- Query Operations: 3 tests
- Lifecycle Tests: 3 tests
- Edge Cases: 3 tests
- Period Bookings: 1 test

Run with: pytest test_ausleihung.py -v
2026-04-19 14:19:30 +02:00
Aiirondev_dev f98ad5d0ee Implement Web Push Notifications system
- Add push_notifications.py module for managing subscriptions and sending notifications
- Create Flask API endpoints for subscription management (/api/push/*)
- Integrate push sending with existing notification system (_create_notification)
- Create frontend JavaScript library (push-notifications.js) for client-side subscription
- Update base.html template with manifest link and Service Worker registration
- Add manifest.json and service-worker.js for PWA support
- Add pywebpush dependency to requirements.txt
- Create generate-vapid-keys.sh script for VAPID key generation
- Add comprehensive documentation (WEB_PUSH_NOTIFICATIONS.md)

Features:
- Subscribe/unsubscribe users from push notifications
- Store subscriptions in MongoDB with automatic indexing
- Send push to individual users or all admins
- Notification deduplication and versioning
- Service Worker handles offline caching and push events
- Full PWA support for mobile app installation
- VAPID authentication for secure push communication
v0.6.0
2026-04-19 13:59:00 +02:00
Aiirondev_dev 3469264445 Add debugging for planned booking activation issues 2026-04-19 13:40:27 +02:00
Aiirondev_dev a2a0f0dc53 fix: Improve pin_compose_app_image script with clearer state tracking and proper build block handling v0.5.34 2026-04-19 13:24:17 +02:00
Aiirondev_dev c551352f25 Fix docker-compose YAML structure: normalize depends_on formatting and fix pin_compose_app_image script v0.5.33 2026-04-19 13:19:22 +02:00
Aiirondev_dev 3a845ce07f feat: Update nginx service dependencies to ensure they start only after app and redis services v0.5.32 2026-04-19 13:13:51 +02:00
Aiirondev_dev 1bfe998906 feat: Update nginx service dependency to ensure it starts only after the app service v0.5.31 2026-04-19 13:08:41 +02:00
Aiirondev_dev 3fdbadd454 feat: Refactor image handling in Docker Compose file processing for improved indentation management v0.5.30 2026-04-19 12:59:23 +02:00
Aiirondev_dev 110327b73e feat: Enhance scheduler initialization to clean up stale lock files for multi-worker deployments v0.5.29 2026-04-18 14:02:28 +02:00
Aiirondev_dev d8cd1906b3 feat: Update item status handling during appointment activation and cancellation v0.5.28 2026-04-18 13:18:17 +02:00
Aiirondev_dev b8a7d6c797 feat: Enhance appointment scheduling to set initial status and notify users on activation v0.5.27 2026-04-18 12:57:14 +02:00
Aiirondev_dev ac3e48da3d feat: Implement background scheduler initialization to prevent race conditions in multi-worker deployments v0.5.25 v0.5.26 2026-04-18 12:39:07 +02:00
Aiirondev_dev 5d9069e690 feat: Add function to open item modal with details fetched from backend v0.5.24 2026-04-18 11:59:12 +02:00
Aiirondev_dev 16f34a1425 feat: Create activation notifications for appointments when status changes to active v0.5.23 2026-04-18 11:50:48 +02:00
Aiirondev_dev a12eea15d7 feat: Enhance item detail views with damage history and improved loading logic v0.5.22 2026-04-18 11:39:56 +02:00
Aiirondev_dev 5ba5aea6f6 feat: Add notification creation for activated appointments with item details v0.5.21 2026-04-18 11:02:48 +02:00
Aiirondev_dev 6e7d961a98 feat: Add endpoint to retrieve calendar bookings for the current user session v0.5.20 2026-04-18 10:44:51 +02:00
Aiirondev_dev 627de12bea feat: Update username generation to use abbreviated format from first and last name v0.5.19 2026-04-18 00:06:55 +02:00
Aiirondev_dev ec165ea6bd feat: Generate username automatically from first and last name during registration v0.5.18 2026-04-17 23:58:12 +02:00
Aiirondev_dev 29e0356641 feat: Implement optimized image serving and caching for improved performance v0.5.17 2026-04-17 23:46:08 +02:00
Aiirondev_dev fd6915a923 feat: Enhance favorites management by binding session favorites to authenticated users and updating cache handling v0.5.16 2026-04-17 23:25:02 +02:00
Aiirondev_dev 9b7ba39702 feat: Update user registration to include first and last name fields and enhance permission checks for upload actions v0.5.15 2026-04-17 23:22:10 +02:00
Aiirondev_dev 3b637de188 feat: Implement custom permission settings in user registration and update user addition logic v0.5.14 2026-04-17 23:07:37 +02:00
Aiirondev_dev c0f49ab8de feat: Ensure admin users have full access to permissions regardless of presets v0.5.13 2026-04-17 22:59:03 +02:00
Aiirondev_dev c23e128d2e feat: Enhance permission handling in fallback endpoints for improved user experience v0.5.12 2026-04-17 22:54:21 +02:00
Aiirondev_dev b611173ea9 feat: Add admin functionality to anonymize stored names and implement name aliasing v0.5.11 2026-04-17 21:57:49 +02:00
Aiirondev_dev 5cf9a4f1dd feat: Implement user permission management with presets and dynamic access control v0.5.10 2026-04-17 21:14:30 +02:00
Aiirondev_dev 88a67160f2 feat: Refactor mobile navigation styles for improved layout and responsiveness 2026-04-17 20:58:19 +02:00
Aiirondev_dev 2068af106f feat: Enhance mobile navigation layout and styling for improved user experience v0.5.9 2026-04-17 20:30:43 +02:00
Aiirondev_dev 06c2270842 feat: Enhance mobile responsiveness for container and modal styles in main and admin templates v0.5.8 2026-04-17 19:18:46 +02:00
Aiirondev_dev 20556f3500 feat: Simplify scheduled job setup by removing dynamic update timing and buffer management v0.5.7 2026-04-17 19:08:45 +02:00
Aiirondev_dev 7f1d616bb3 feat: Improve mobile layout handling for item loading indicators and prefetching logic 2026-04-17 19:05:34 +02:00
Aiirondev_dev 09cea7a0f8 feat: Implement update scheduling with dynamic timing and update buffer management v0.5.6 2026-04-17 18:58:10 +02:00
Aiirondev_dev 061f975727 feat: Implement Redis caching for notification status and add Redis service to Docker v0.5.5 2026-04-17 18:54:22 +02:00
Aiirondev_dev 68f0efa296 feat: Enhance navbar responsiveness with compact and ultra-compact modes v0.5.4 2026-04-17 18:43:46 +02:00
Aiirondev_dev a27639a976 feat: Enhance CSRF protection and support for CSV file uploads across multiple templates v0.5.3 2026-04-17 18:33:55 +02:00
Aiirondev_dev 2f65fba3ae fix: Update student card import instructions to include ASV data source v0.5.2 2026-04-17 18:20:34 +02:00
Aiirondev_dev e7e8ef7eee feat: Add bulk import functionality for student cards from Excel v0.5.1 2026-04-17 18:12:50 +02:00
Aiirondev_dev e43b7752bb feat: Implement multi-tenant architecture with Redis caching and session management
- Added query caching layer in `query_cache.py` to reduce database load by 70% with intelligent result caching.
- Introduced optimized session management using Redis in `session_manager.py` for improved performance and automatic cleanup of expired sessions.
- Created a multi-tenant context manager in `tenant.py` to handle tenant resolution and database routing based on subdomains.
- Updated Docker Compose configuration in `docker-compose-multitenant.yml` to support multi-tenant deployments with isolated app instances.
- Configured Nginx for multi-tenant subdomain routing in `multitenant.conf`, including SSL termination and caching strategies.
- Developed a migration script `migrate-to-multitenant.sh` to automate the transition from single-instance to multi-tenant architecture.
v0.5.0
2026-04-17 17:52:51 +02:00
Aiirondev_dev 0d0b420026 Add helper function to yield image names from item schema for media archiving 2026-04-17 17:23:44 +02:00
Aiirondev_dev 5d8213b8c2 Implement encryption for student card data and add support for archiving deleted media files v0.4.1 2026-04-17 17:14:08 +02:00
Aiirondev_dev b94fb1cd97 Enhance security and logging in application settings and templates; update impressum legal references v0.4.0 2026-04-17 16:54:53 +02:00
Aiirondev_dev ce20f569a3 Fix email link in impressum section 2026-04-13 21:58:14 +02:00
Aiirondev_dev ec7f32994c Remove notifications link and update impressum contact information v0.3.1 2026-04-13 21:44:06 +02:00
Aiirondev_dev 8358bf257f Add login notification hint for unread messages in user menu v0.3.0 2026-04-13 21:30:24 +02:00
Aiirondev_dev 193495d6a2 Enhance navbar with sticky positioning and search functionality, including active link highlighting and improved mobile responsiveness 2026-04-13 21:27:12 +02:00
Aiirondev_dev 5afcaa5e19 Add damage report link to notification details v0.2.20 2026-04-13 21:19:32 +02:00
Aiirondev_dev 3aa44b64b8 Add notification system with unread count and in-app alerts v0.2.19 2026-04-13 21:05:34 +02:00