A full-stack blogging platform built with Next.js, featuring real-time interactions, creator analytics, scheduled publishing, scalable notification systems, and production-grade architecture.
- Robust post CRUD system designed for real-world use cases
- Rich text editor with clean slug-based post pages (Tiptap)
- Autosave functionality to prevent data loss during writing
- Soft delete implementation to preserve data integrity
- Logged-in user dashboard (All / Drafts / Published / Scheduled posts)
- Full CRUD for comments
- Recursive rendering of nested replies
- Highlight & scroll-to-comment functionality for better UX
- Secure authentication with proper authorization and ownership validation
- Signed URLs for secure media access (via Supabase)
- Like system for posts
- Bookmark posts for later reading
- Dedicated library page for logged-in users
- Bookmarked stories collection
- Liked stories collection
- Follow / Unfollow system
- Full-text search across users and posts
- Followers & following lists
- Suggested users
- Mutual connections system
- Real-time in-app notifications using Server-Sent Events (SSE)
- Digest email system to batch and deliver notifications efficiently
- Comprehensive activity feed covering:
- User ↔ User interactions (follows)
- Post interactions (likes, comments)
- Comment interactions (replies, likes)
- Aggregated handling for high-frequency events (post likes & comment likes) to optimize feed clarity and performance
- Dedicated analytics dashboard for content creators
- Stats cards providing quick insights into overall platform engagement
- Engagement chart for visualizing trends in views, likes, comments, and user activity
- Audience chart to help understand readership patterns over time
- Most Engaged Posts section highlighting top-performing content
- Per-post analytics page with detailed metrics and performance insights for individual posts
- Custom animated route transition loader powered by a 3D page-turning book
- Smooth page transitions with polished loading states for improved perceived performance
- Schedule posts to be automatically published at a future date and time
- Quick scheduling presets (e.g. 1 hour, 12 hours, 24 hours)
- Custom date & time scheduling support
- Reschedule or cancel scheduled posts at any time before publication
- Automated publishing powered by a secure background publishing endpoint
- Timezone-safe scheduling implementation to ensure consistent publishing behavior across environments
- Next.js (App Router)
- React
- Shadcn UI (component library)
- Framer Motion (animations)
- React-Toastify (notifications/toasts)
- Tiptap (rich text editor)
- Recharts (analytics & data visualization)
- React Three Fiber (3D rendering)
- React Three Drei (3D scene helpers)
- Lordicon (interactive animated icons)
- Next.js API Routes
- Node.js
- NextAuth.js (authentication & session management)
- MongoDB
- Mongoose (Schema design & relationships)
- Server-Sent Events (SSE) for real-time notifications
- BullMQ + Redis (queue system for background jobs & email processing)
- cron-job.org (scheduled post publishing automation)
- Supabase (Signed URLs for secure asset access)
- Resend (email sending)
- Mailtrap (email testing in development)
- Postman (API testing)
git clone https://github.com/Swarnabha07/StoryHub.git
cd storyhub
npm install
cp .env.example .env.local
npm run dev