crisleo94
26c5f6f06b
Merge pull request 'feat: implement mobile reader' ( #27 ) from feat-mobile-reader into main
...
Reviewed-on: #27
2026-06-20 18:34:58 +00:00
crisleo94
22ded87250
feat: implement mobile reader
...
- implement mobile epub reader
2026-06-20 13:33:44 -05:00
crisleo94
84c0497f21
Merge pull request 'Feature/uv implementation' ( #26 ) from feature/uv-implementation into main
...
Reviewed-on: #26
2026-06-04 12:10:51 +00:00
crisleo94
724eae1142
fix: remove binary files
2026-06-04 06:45:27 -05: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
crisleo94
730c748f5f
Merge pull request 'Implement: Customizable Mobile Reading Experience' ( #25 ) from feature/customizable-mobile-reading-experience into main
...
Reviewed-on: #25
Reviewed-by: crisleo94 <cristhian.reinoso@codescripters.org >
2026-05-29 13:48:05 +00:00
Marko (Hermes Implementer)
7cdc3d0969
Remove stale web/ directory — content already ported to frontend/
...
Reid's second review flagged that the old web/ files still had:
- XSS vulnerability (no DOMPurify)
- CSS typo (landascape)
- API endpoint mismatches
All fix: delete web/ entirely. The correct, sanitized, fixed versions
already live in frontend/src/.
2026-05-29 07:04:53 +00:00
Marko (Hermes Implementer)
a7864bf5cd
Address Reid's PR #25 review comments
...
🔴 Blocking fixes:
- Add reader app migration (apps/reader/migrations/0001_initial.py)
- Remove duplicate ReadingSettings from apps.books to resolve model clash
with apps.reader.ReadingSettings (keep richer reader version)
- Redirect books serializers/views to use reader app's ReadingSettings
- Update frontend API endpoints to match main's backend routes:
/api/books/ebooks/{id}/toc/ (chapters)
/api/books/ebooks/{id}/content/?page=N (chapter content)
/api/books/ebooks/{id}/progress/ (GET/PATCH progress)
- Add DOMPurify sanitization for dangerouslySetInnerHTML (XSS fix)
🟡 Non-blocking fixes:
- Fix CSS typo: landascape -> landscape in reader.css
- Add null-safe fallback for book.title in ReadingPage
2026-05-29 06:37:58 +00: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
crisleo94
3f626259e8
Merge pull request 'Implement: US: Mobile Book Search and Discovery' ( #24 ) from feature/mobile-search-discovery into main
...
Reviewed-on: #24
Reviewed-by: crisleo94 <cristhian.reinoso@codescripters.org >
2026-05-29 05:13:02 +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
crisleo94
6a223d7237
Merge branch 'main' into feature/mobile-search-discovery
2026-05-29 04:50:59 +00:00
crisleo94
656d20879f
Merge pull request 'Implement: US: Integrate Expo Mobile Application into Monorepo ( #16 )' ( #23 ) from feature/expo-integration into main
...
Reviewed-on: #23
Reviewed-by: crisleo94 <cristhian.reinoso@codescripters.org >
2026-05-29 04:50:49 +00:00
crisleo94
2eeb3fb7d6
Merge pull request 'Fix: Missing API methods for Book Search and Discovery (re-opened #5 )' ( #14 ) from fix/missing-api-methods into main
...
Reviewed-on: #14
Reviewed-by: crisleo94 <cristhian.reinoso@codescripters.org >
2026-05-29 04:25:37 +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)
b29ea8211c
feat: customizable mobile reading experience
...
- Backend: Chapter, ReadingProgress, ReadingSettings models
- Backend: Chapter API (TOC + content), progress tracking, settings CRUD
- Frontend: ReadingPage with chapter navigation
- Frontend: TableOfContents drawer
- Frontend: ReadingSettingsPanel (theme, font, size, orientation)
- Frontend: Custom hooks for settings, chapters, progress tracking
- CSS: Mobile-first reading view with sepia/dark/light/paper themes
- Route: /reader/:bookId reading view from book detail page
- Docs: 001-customizable-mobile-reading-experience.md
2026-05-29 02:55:36 +00:00
Marko (Hermes Implementer)
fa82fab44a
feat: Integrate Expo mobile application into monorepo ( #16 )
...
- Add mobile/ directory with Expo React Native project
- Create API client with JWT auth and token refresh using AsyncStorage
- Implement AuthContext for login/register/logout flow
- Add screens: Login, Register, Library, Search, Settings
- Set up React Navigation with AuthStack and MainTabs
- Create packages/shared/ with shared types and utilities
- Add shared validation utilities (email, password strength)
- Update root package.json workspaces to include mobile + shared
- Add spec document docs/backend/009-expo-integration.md
2026-05-29 02:50:09 +00:00
Marko (Hermes Implementer)
670101b61e
fix: add missing book API methods and types (searchBooks, getBook, getGenres, getAuthors)
2026-05-29 00:08:32 +00:00
marko and reid
332b539880
Implement: US: Book Search and Discovery ( #13 )
...
Reviewed and merged by Reid (Hermes Reviewer)
Co-authored-by: crisleo-hermes <hermes@codescripters.org >
Co-committed-by: crisleo-hermes <hermes@codescripters.org >
2026-05-26 06:21:32 +00:00
marko and reid
f84a593c5d
Implement: Refactor: Consolidate Duplicate Backend and Frontend Implementations ( #11 )
...
Reviewed and merged by Reid (Hermes Reviewer)
Co-authored-by: crisleo-hermes <hermes@codescripters.org >
Co-committed-by: crisleo-hermes <hermes@codescripters.org >
2026-05-26 03:54:25 +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