A full-stack Ebook Sharing Platform where readers can discover and purchase original ebooks, writers can publish and manage their creations after verification, and administrators can oversee platform operations through a centralized dashboard.
π Live Site: fable-munaimpro.vercel.app
git clone https://github.com/munaimpro/fable.gitgit clone https://github.com/munaimpro/fable-server.gitnpm installnpm run devOpen:
http://localhost:3000
in your browser.
Fable is a modern digital ebook marketplace designed to connect readers and writers on a single platform.
Readers can browse, bookmark, and purchase ebooks securely using Stripe.
Writers can upload, publish, edit, and manage their ebooks after completing a one-time verification process.
Administrators have complete control over users, ebooks, transactions, and platform analytics.
- Browse ebooks
- Purchase ebooks
- Bookmark ebooks
- View purchase history
- Access purchased content
- Upload ebooks
- Edit ebooks
- Publish / Unpublish ebooks
- Delete ebooks
- View sales history
- Manage ebook catalog
- Manage users
- Change user roles
- Delete users
- Manage all ebooks
- View platform transactions
- Monitor analytics
- Email & Password Login
- Google Authentication
- BetterAuth Integration
- Session Persistence
- Secure Authentication Flow
- Role-Based Access Control (RBAC)
- Protected Dashboard Routes
- Admin Route Protection
- Writer Route Protection
- Secure API Verification
- Add New Ebook
- Edit Existing Ebook
- Delete Ebook
- Publish Ebook
- Unpublish Ebook
- Cover Image
- Title
- Writer Name
- Genre
- Price
- Description
- Full Content
- Publish Status
- Upload Date
Readers can:
- Browse Available Ebooks
- View Ebook Details
- Purchase Ebooks via Stripe
- Access Purchased Content
- View Purchase History
Browse Ebook
β
View Details
β
Stripe Checkout
β
Payment Success
β
Purchase Stored
β
Content Unlocked
Writers must complete a one-time verification payment before publishing ebooks.
- Ebook Publishing Permission
- Writer Dashboard Access
- Ebook Management Features
- Stripe Checkout
- Secure Verification Process
- Hero Banner
- Featured Ebooks
- Top Writers
- Ebook Genres
- Framer Motion Animations
Features include:
- Search by Ebook Title
- Search by Writer Name
- Genre Filtering
- Price Range Filtering
- Availability Filtering
- Sorting
- Pagination
Displays:
- High Resolution Cover
- Ebook Information
- Writer Information
- Purchase Option
- Bookmark Feature
- Purchased Content Access
- Purchase History
- Purchased Ebooks
- Bookmarked Ebooks
- Profile Management
- Add Ebook
- Manage Ebooks
- Edit Ebook
- Publish / Unpublish Ebook
- Delete Ebook
- Sales History
- Bookmark Collection
- Analytics Overview
- User Management
- Ebook Management
- Transaction Monitoring
- Revenue Tracking
- Genre Statistics
- Monthly Sales Charts
Platform analytics include:
- Total Users
- Total Writers
- Total Ebooks Sold
- Total Revenue
- Monthly Revenue Statistics
- Ebook Genre Distribution
- Ebook Title Search
- Writer Name Search
- Genre Filter
- Availability Filter
- Price Range Filter
- Newest First
- Price Low β High
- Price High β Low
- BetterAuth Authentication
- JWT Verification
- Protected API Routes
- Role-Based Authorization
- Secure Environment Variables
- MongoDB Credential Protection
- Server-Side Validation
name
email
image
role
createdAt
title
description
content
genre
price
coverImage
writerId
writerName
status
totalSale
createdAt
ebookId
ebookTitle
buyerId
buyerName
writerId
writerName
price
paymentStatus
transactionId
purchaseDate
transactionId
type
userEmail
amount
status
createdAt
writerId
writerEmail
paymentStatus
transactionId
verificationDate
status
ebookId
userId
createdAt
User Registration
β
Role Selection
β
Authentication
β
Dashboard Access
β
Browse Ebooks
β
Bookmark / Purchase
β
Stripe Payment
β
Purchase Storage
β
Content Unlock
β
Analytics Update
- Next.js 16
- React 19
- Tailwind CSS 4
- Framer Motion
- Lucide React
- Recharts
- React Hot Toast
- Node.js
- Express.js
- MongoDB
- BetterAuth
- JWT
- Google OAuth
- Stripe Checkout
{
"@stripe/stripe-js": "^9.8.0",
"better-auth": "^1.6.19",
"jsonwebtoken": "^9.0.3",
"lucide-react": "^1.21.0",
"motion": "^12.40.0",
"next": "^16.2.9",
"react": "19.2.4",
"react-dom": "19.2.4",
"react-hot-toast": "^2.6.0",
"recharts": "^3.8.1",
"stripe": "^22.2.2"
}Express.js
MongoDB
JOSE
CORS
Dotenv
Stripe
β Authentication System
β Role-Based Dashboard
β Ebook CRUD Operations
β Writer Verification Payment
β Ebook Purchase Payment
β Bookmark System
β Search & Filtering
β Pagination
β Analytics Dashboard
β Revenue Tracking
β Monthly Sales Charts
β Genre Statistics
β Responsive Design
β Loading States
β Error Handling
β Protected Routes
Email: admin@fable.com
Password: Admin@123
Munaim Khan
M.Sc. in Computer Science & Engineering
Full Stack Web Developer