How ppk205/comicreadersite works
Comic Reader Site is a full-stack manga and EPUB reading platform with reader, community, and role-aware staff workflows. Readers browse and search series, open image chapters or EPUBs, and manage bookmarks and progress; users can also authenticate and participate in community discussions. Staff manage catalog content, users, moderation, and settings. The frontend reaches a Java Servlet API, which uses DAOs and JPA-backed MySQL for persistent data; EPUB storage and account email are external integrations. Some backend service implementations are sampled, while several route-to-service links are based on documented API capabilities.
Main entry points: api.ts REST API client · servlet REST servlet endpoints · dao JPA data access · page.tsx Manga catalog
Components 24
Reader experience
- Manga catalog
ComicReaderSite/src/app/(site)/page.tsx - Series and chapters
ComicReaderSite/src/app/(series)/series - Chapter reader
ComicReaderSite/src/app/(series)/series/[seriesId]/[chapterId]/page.tsx - Bookmarks and history
ComicReaderSite/src/app/(site)/bookmarks/page.tsx - EPUB library and reader
ComicReaderSite/src/app/(site)/epub/page.tsx - Community posts
ComicReaderSite/src/app/(site)/community - Account access
ComicReaderSite/src/contexts/AuthContext.tsx - REST API client
ComicReaderSite/src/services/api.ts
Staff experience
- Staff dashboard
ComicReaderSite/src/app/(dashboard)/dashboard/page.tsx - Catalog management
ComicReaderSite/src/app/(dashboard)/dashboard/manga - Moderation queues
ComicReaderSite/src/app/(dashboard)/dashboard/moderation - Users and settings
ComicReaderSite/src/app/(dashboard)/dashboard/users/page.tsx
Backend API
- REST servlet endpoints
Comic/src/main/java/reader/site/Comic/servlet - Authentication service
Comic/src/main/java/reader/site/Comic/service/AuthService.java - Dashboard service
Comic/src/main/java/reader/site/Comic/service/DashboardService.java - Moderation service
Comic/src/main/java/reader/site/Comic/service/ModerationService.java - Settings service
Comic/src/main/java/reader/site/Comic/service/SystemSettingsService.java - Account email sender
Comic/src/main/java/reader/site/Comic/util/EmailUtil.java - EPUB blob uploader
Comic/src/main/java/reader/site/Comic/service/AzureBlobUploader.java
Persistence and integrations
- JPA data access
Comic/src/main/java/reader/site/Comic/dao - MySQL database
- Azure Blob Storage
- SMTP email
Other components
- Browser users
Connections 27
- Browser users → Manga catalog: browses
- Browser users → Account access: signs in
- Browser users → Community posts: participates
- Browser users → Staff dashboard: manages
- Manga catalog → REST API client: requests catalog
- Series and chapters → REST API client: loads series
- Chapter reader → REST API client: loads images
- Bookmarks and history → REST API client: syncs progress
- EPUB library and reader → REST API client: manages books
- Community posts → REST API client: sends posts
- Account access → REST API client: authenticates
- Staff dashboard → REST API client: loads statistics
- Catalog management → REST API client: manages manga
- Moderation queues → REST API client: reviews items
- Users and settings → REST API client: manages accounts
- REST API client → REST servlet endpoints: calls REST
- REST servlet endpoints → Authentication service: delegates auth
- Authentication service → JPA data access: reads and updates users
- REST servlet endpoints → Dashboard service: requests dashboard data
- Dashboard service → JPA data access: reads users and manga
- REST servlet endpoints → Moderation service: handles moderation
- REST servlet endpoints → Settings service: updates settings
- JPA data access → MySQL database: persists records
- REST servlet endpoints → EPUB blob uploader: handles EPUB files
- EPUB blob uploader → Azure Blob Storage: stores files
- REST servlet endpoints → Account email sender: sends activation mail
- Account email sender → SMTP email: delivers mail