Marko
4a7133465f
feat: US #32 Section-based Reading Recommendations
...
Backend:
- Add ReadingSchedule and MeetingSection models for ebook reading schedules
- Implement recommendation algorithm: greedy partition minimizing per-meeting time variance
- Algorithm respects chapter boundaries, estimates time based on chapter weight
- Add serializers for schedules (list/detail/generate/confirm/update)
- Add ScheduleViewSet with endpoints: list, create (generate), retrieve, regenerate, confirm, update_meeting, reorder_meetings
- Add URL routes for /api/books/schedules/
- Create migration 0004 for new models
Frontend:
- Add types: MeetingSection, ReadingSchedule, GenerateRecommendationsRequest
- Add schedulesApi with methods: getSchedules, generateRecommendations, confirmSchedule, updateMeeting, reorderMeetings, deleteSchedule
- Build RecommendationPage with 4-column meeting layout, drag-and-drop chapter reassignment, generate/regenerate/confirm flow
- Add 'Schedule Reading' menu item to BookContextMenu
- Add route: /books/:ebookId/schedule
2026-06-20 19:31:39 +00:00
crisleo94
654cfec147
fix: cleanup
2026-06-04 06:42:27 -05:00
crisleo94
f989b144cf
fix: pdf bookmark
...
for pdfs only select pages not text
2026-06-03 23:01:12 -05:00
crisleo94
f091386974
feat: pdf reader
2026-06-03 22:46:38 -05:00
crisleo94
d9c66e68a6
fix: floating bookmarks
...
- update floating bookmarks
- fix search suggestions
- fix filters
2026-06-03 22:33:24 -05:00
crisleo94
054e7689bd
feat: floating bookmarks
...
add floating bookmarks
2026-06-03 22:19:19 -05:00
crisleo94
6b4c0c43f8
feat: uv config other feats
...
- add uv configuration for the backend
- update frontend to make auth work
- add new auth endpoints
- add bookmars feat
- add reader feat
2026-06-03 22:06:01 -05:00
Marko (Hermes Implementer)
edac7cb08a
Merge branch 'main' into feature/customizable-mobile-reading-experience
...
Resolve merge conflicts:
- backend/apps/books/: Keep main's models (EBook, BookChapter, etc.)
- frontend/src/App.tsx: Keep /read/:id route + main's all routes
- web/ files: Accept deletion (content ported to frontend/)
2026-05-29 05:59:10 +00:00
Marko (Hermes Implementer)
74fdae61db
Resolve merge conflicts for PR #25 : customizable mobile reading experience
...
- Backend: Replace PR's Book-only models with main's full models
(EBook, BookChapter, DownloadRecord, ReadingProgress, ReadingSettings)
- Backend: Add reader app (ReadingSettings model, serializer, view, URL)
- Frontend: Port reader feature files from web/ to frontend/ (api, hooks,
components/reader/, pages/ReadingPage, types/reader, reader.css)
- Frontend: Add /read/:id route to App.tsx for chapter-based reading view
- All imports adjusted for frontend/src directory structure
2026-05-29 05:53:14 +00:00
Marko (Hermes Implementer)
ade810a013
fix: address PR #24 review comments - SpeechRecognition types, CSS hover over direct DOM, shared useDebounce
2026-05-29 05:10:06 +00:00
Marko (Hermes Implementer)
658f77a746
feat: mobile book search and discovery with voice search, suggestions, and responsive layout
2026-05-29 02:55:50 +00:00
Marko (Hermes Implementer)
3b5b301e42
feat: bookmarks and notes management
...
- Backend: Django REST Framework API with Bookmark and Note models
- ViewSets with user-scoped querysets and select_related for N+1 prevention
- Create/List/Detail/Update/Delete endpoints
- Batch delete operations
- Unique constraint on user+book+page for bookmarks
- IsOwner permission class for object-level access control
- Full serializer validation (page > 0, non-empty content, duplicate check)
- 30+ pytest-django tests covering CRUD, auth, filtering, edge cases
- Frontend: React TypeScript components
- AnnotationsContext with useReducer for state management
- BookmarkList, NoteList, AddAnnotationForm, AnnotationsDashboard
- Inline note editing with immediate save
- Batch delete support
- API client with JWT auto-refresh interceptors
- Paginated query hook for infinite scroll support
- Responsive CSS with loading/empty states
- Infrastructure: Django project with custom User model, JWT auth, CORS
- PostgreSQL database models with proper FK and indexes
- Django admin configuration for all models
2026-05-26 00:50:06 +00:00