A full-stack interactive novel reading experience built with modern web technologies, featuring user authentication, real-time ratings, chapter discussions, and an immersive flipbook interface.
- Desktop: Beautiful flipbook interface with page-turning animations
- Mobile: Optimized scrolling experience with touch-friendly navigation
- Secure authentication via Zoho Catalyst
- User profiles with personalized experience
- Session management and logout functionality
- Rate each chapter (1-5 stars)
- View average ratings and total rating counts
- One rating per user per chapter (enforced)
- Real-time rating updates
- Chapter-specific comment sections
- Real-time comment posting and deletion
- User-specific comment management
- Character count validation (max 1000 characters)
- Smooth page transitions
- Chapter navigation sidebar
- Progress tracking
- Fullscreen mode for immersive reading
- Zoho Cliq notification system for new chapters
- Admin-only access controls
- User management dashboard
- HTML5 - Structure
- CSS3 - Styling with responsive design
- JavaScript (ES6+) - Core functionality
- jQuery - DOM manipulation
- Turn.js - Flipbook effect (desktop)
- Node.js - Runtime
- Express.js - API server
- Zoho Catalyst - Backend services
- Authentication
- Database (Datastore)
- Cloud Functions
- User Management
- Chapters - Chapter metadata and ratings
- Ratings - User rating records
- Comments - Chapter discussions
- Users - Email subscriptions
Project/
├── app/
│ ├── index.html # Desktop interface
│ ├── mobile.html # Mobile interface
│ ├── main.css # Desktop styles
│ ├── mobile.css # Mobile styles
│ ├── main.js # Core JavaScript
│ ├── bookContent.js # Chapter content data
│ └── config.js # Configuration
│
├── functions/
│ └── <projectname>functions/
│ └── index.js # Backend API endpoints
│
├── .gitignore
├── README.md
└── SETUP.md # Detailed setup guide
- Browse chapters using the sidebar navigation
- Rate chapters after reading (1-5 stars)
- Join discussions by posting comments
- Track progress through the chapter list
Set in config.js:
BACKEND_URL: Your Catalyst function URL
AUTH_LOGIN_URL: Authentication endpoint
AUTH_SIGNUP_URL: Signup endpointChapters Table
ROWID(Text) - Chapter IDavgRating(Number) - Average ratingtotalNoOfRatings(Number) - Total ratings count
Ratings Table
user_id(Text) - User identifierchapter_id(Text) - Chapter identifierrating(Number) - Rating value (1-5)
Comments Table
chapter_id(Text) - Chapter identifieruser_id(Text) - User identifieruser_name(Text) - Display nameuser_email(Text) - User emailcomment_text(Text) - Comment content
// One rating per user per chapter
// Prevents duplicate ratings
// Real-time average calculation// Chapter-specific discussions
// User can delete own comments
// 1000 character limit
// Timestamp tracking// Auto-detects device type
// Redirects to appropriate interface
// Touch-optimized controls- Browser Storage - localStorage not supported in artifacts (by design)
- Image Loading - Requires stable internet connection
- Mobile Landscape - Best viewed in portrait mode
- Duplicate Ratings - From console ratings can be dupilcated
- Turn.js library for flipbook functionality
For issues and questions:
- Create an issue on GitHub
- PDF export functionality
- Bookmarking system
- Reading progress sync
- Dark mode
- Multilingual support
- Audio narration
- Social sharing features
- System sends Cliq DMs to all subscribed users
- Admin Panel
- Full-stack implementation with authentication
- Real-time features for ratings and comments
Created by Aathithyan Vandhiyan [AKA Aathithyan V L]