Skip to content

KeepSerene/imprintly-ai-e-book-creator-mern

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Imprintly πŸ“šβœ¨

Transform your ideas into professional eBooks in minutes with AI-powered assistance.

Imprintly is a full-stack MERN application that revolutionizes the eBook creation process. With intelligent AI assistance, beautiful design tools, and seamless export options, bringing your stories to life has never been easier.

Live Demo License Made with Love


🌟 Features

✍️ Smart Writing Experience

  • AI-Powered Content Generation: Generate book outlines and chapter content using Google's Gemini AI
  • Rich Text Editor: Markdown-based editor with real-time preview and syntax highlighting
  • Drag & Drop Organization: Reorder chapters effortlessly with intuitive drag-and-drop interface

🎨 Professional Design

  • Custom Cover Images: Upload and manage beautiful book covers (JPEG, PNG, GIF, WebP)
  • Chapter Management: Organize chapters with titles, descriptions, and rich content
  • Responsive Interface: Beautiful UI that works seamlessly across all devices

πŸ“€ Flexible Export Options

  • PDF Export: Download your eBook as a professionally formatted PDF
  • DOCX Export: Export to Microsoft Word format for further editing
  • Instant Downloads: One-click export with proper formatting and styling

πŸ” Secure & Personal

  • User Authentication: JWT-based secure authentication system
  • Personal Library: Manage multiple books in your private dashboard
  • Profile Management: Customize your author profile and preferences

πŸš€ Performance Optimized

  • Fast Loading: Optimized build with Vite and modern React
  • Efficient API: RESTful API with proper error handling and validation
  • Scalable Architecture: MongoDB for reliable data persistence

πŸ› οΈ Tech Stack

Frontend

React React Router Tailwind CSS Vite

  • React 19.2 - Latest React with concurrent features
  • React Router 7.9 - Client-side routing
  • Tailwind CSS 4.1 - Utility-first CSS framework
  • Lucide React - Beautiful icon library
  • React Markdown Editor - Rich markdown editing experience
  • DnD Kit - Smooth drag-and-drop interactions
  • React Hot Toast - Elegant notifications
  • Axios - HTTP client with interceptors

Backend

Node.js Express MongoDB JWT

  • Node.js & Express - Server runtime and framework
  • MongoDB & Mongoose - NoSQL database with ODM
  • JWT Authentication - Secure token-based auth
  • Multer - File upload handling
  • BCrypt - Password hashing
  • Google Gemini AI - AI content generation
  • Docx & PDFKit - Document generation libraries

DevOps & Tools

  • pnpm - Fast, disk space efficient package manager
  • Render - Cloud hosting platform
  • Git & GitHub - Version control

πŸ“Έ Screenshots

Landing Page

Landing Page Beautiful, modern landing page with gradient designs and smooth animations

Dashboard

Dashboard Manage all your books in one place with an intuitive card-based layout

Book Editor

Book Editor Rich markdown editor with live preview and AI-powered content generation

AI Content Generation

AI Generation Generate book outlines and chapter content with AI assistance


πŸš€ Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • MongoDB (local or Atlas)
  • pnpm (v9 or higher)
  • Google Gemini API key

Installation

  1. Clone the repository
git clone https://github.com/KeepSerene/imprintly-ai-e-book-creator-mern.git
cd imprintly-ai-e-book-creator-mern
  1. Install dependencies
# Install backend dependencies
cd backend
pnpm install

# Install frontend dependencies
cd ../frontend
pnpm install
  1. Set up environment variables

Backend (.env in /backend):

NODE_ENV=development
PORT=3000
DB_URI=your_mongodb_connection_string
JWT_SECRET_KEY=your_super_secret_jwt_key
GEMINI_API_KEY=your_gemini_api_key
CLIENT_URL=http://localhost:5173

Frontend (.env in /frontend):

VITE_API_BASE_URL=http://localhost:3000
  1. Run the application
# Terminal 1 - Run backend
cd backend
pnpm run dev

# Terminal 2 - Run frontend
cd frontend
pnpm run dev
  1. Open your browser Navigate to http://localhost:5173

πŸ“ Project Structure (Tentative!)

imprintly/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ configs/         # Configuration files
β”‚   β”‚   β”œβ”€β”€ controllers/     # Route controllers
β”‚   β”‚   β”œβ”€β”€ middlewares/     # Custom middlewares
β”‚   β”‚   β”œβ”€β”€ models/          # Mongoose models
β”‚   β”‚   β”œβ”€β”€ routes/          # API routes
β”‚   β”‚   β”œβ”€β”€ utils/           # Utility functions
β”‚   β”‚   └── server.js        # Express app entry
β”‚   └── package.json
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ public/              # Static assets
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/      # React components
β”‚   β”‚   β”œβ”€β”€ contexts/        # React contexts
β”‚   β”‚   β”œβ”€β”€ pages/           # Page components
β”‚   β”‚   β”œβ”€β”€ routes/          # Routing config
β”‚   β”‚   β”œβ”€β”€ utils/           # Utilities
β”‚   β”‚   └── main.jsx         # App entry point
β”‚   └── package.json
└── package.json             # Root package file

πŸ”‘ API Endpoints

Authentication

  • POST /api/auth/register - Register new user
  • POST /api/auth/login - User login

Profile

  • GET /api/profile - Get user profile
  • PUT /api/profile - Update user profile
  • PUT /api/profile/avatar - Update user avatar
  • DELETE /api/profile/avatar - Delete user avatar

Books

  • GET /api/books - Get all user books
  • POST /api/books - Create new book
  • GET /api/books/:bookId - Get specific book
  • PUT /api/books/:bookId - Update book content
  • PUT /api/books/:bookId/cover - Update book cover
  • DELETE /api/books/:bookId - Delete book

AI Generation

  • POST /api/ai/generate-book-outline - Generate book outline
  • POST /api/ai/generate-chapter-content - Generate chapter content

Exports

  • GET /api/exports/:bookId/pdf - Export as PDF
  • GET /api/exports/:bookId/docx - Export as DOCX

🌐 Deployment

This project is configured for deployment on Render.com. The build process automatically:

  1. Installs all dependencies using pnpm
  2. Builds the React frontend
  3. Serves the frontend from the Express backend in production
  4. Handles all routing through React Router

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.


πŸ‘¨β€πŸ’» Author

Dhrubajyoti Bhattacharjee (@KeepSerene)


πŸ™ Acknowledgments

  • Google Gemini AI for intelligent content generation
  • Lucide React for beautiful icons
  • The React and Node.js communities
  • All contributors and users of Imprintly

πŸ“Š Project Status

This is a portfolio project demonstrating full-stack MERN development skills with modern best practices. The application is fully functional and deployed on Render's free tier.

Key Highlights:

  • Clean, maintainable code architecture
  • Secure authentication and authorization
  • AI integration for enhanced user experience
  • Responsive design for all screen sizes
  • Production-ready deployment configuration

Made with πŸ’œ by @KeepSerene

⭐ Star this repo if you found it helpful!

Live Demo β€’ Report Bug β€’ Request Feature

About

Imprintly is a full-stack MERN application that revolutionizes the eBook creation process. With intelligent AI assistance, beautiful design tools, and seamless export options, bringing your stories to life has never been easier.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors