User Library
Personal library system for users to manage their bookmarks, track reading progress, and stay updated on new chapters.
Authentication Required
The library page requires user authentication. Unauthenticated users are automatically redirected to the sign-in page with a callback URL to return after login.
redirect('/auth/signin?callbackUrl=/library')Features
Bookmarks
Save series to your library with reading progress automatically tracked.
Reading History
View all chapters you've read with timestamps and quick continue buttons.
Update Notifications
See which bookmarked series have new chapters available.
Library Search
Search within your bookmarked series to quickly find what you want to read.
Library Organization
The library is organized into three main tabs:
Bookmarks
All your bookmarked series displayed in a grid view
Shows cover, title, progress, and quick access to continue reading
Reading History
Chronological list of recently read chapters
Displays last read chapter, progress, and time since last read
Updates
Series with new chapters since your last visit
Filtered to show only bookmarks with unread chapters
Stats Dashboard
The library header displays quick stats about your reading activity:
Bookmarked
Total series in library
With Updates
Series with new chapters
Reading
Currently in progress
Completed
Finished reading all chapters
Progress Tracking
The library automatically tracks your reading progress:
- Current chapter and reading position saved automatically
- Last read timestamp for each series
- Quick continue button to resume from last position
- Progress comparison with total available chapters
- Visual progress indicators on series cards
Bookmark Data Model
interface Bookmark {
user: ObjectId; // Reference to User
series: ObjectId; // Reference to Series
// Reading Progress
lastReadChapter?: ObjectId;
lastReadChapterNumber?: number;
lastReadAt?: Date;
// Notifications
notifyOnUpdate: boolean; // Default: true
// Timestamps
createdAt: Date;
updatedAt: Date;
}
// Unique constraint: one bookmark per user-series pairEmpty States
When sections are empty, helpful messages guide users:
- No bookmarks: "Start bookmarking series you want to follow!" with link to browse
- No reading history: "Your reading history will appear here."
- All caught up: "No new updates for your bookmarked series."
Related Routes
/libraryMain library page (requires auth)/series/[slug]Series page with bookmark button/series/[slug]/[chapter]Reader that updates reading progress