Skip to content

Normboy1/Beezydocs

Repository files navigation

Simple Document Editor

A clean, no-nonsense document editor built with Java Spring Boot and React. Create, edit, and download documents as PDFs - no login required!

Features

  • Rich Text Editing - Format text with bold, italic, headers, lists, and more
  • Auto-save - Your work saves automatically every 2 seconds
  • PDF Export - Download any document as a formatted PDF
  • Real-time Collaboration - Multiple people can edit the same document
  • Responsive Design - Works on desktop, tablet, and mobile
  • No Authentication - Jump straight into creating documents

Quick Start

Prerequisites

  • Java 17+
  • Maven 3.6+
  • Node.js 16+

Run the App

# Clone the repository
git clone https://github.com/yourusername/simple-document-editor.git
cd simple-document-editor

# Option 1: Start everything at once (Mac/Linux)
chmod +x *.sh
./start-all.sh

# Option 2: Start manually
# Terminal 1 - Backend
cd backend && mvn spring-boot:run

# Terminal 2 - Frontend  
cd frontend && npm install && npm start

Open http://localhost:3000 and start writing!

How to Use

  1. Create Document - Click "New Document"
  2. Start Writing - Use the rich text editor
  3. Auto-saves - No save button needed!
  4. Download PDF - Click the "PDF" button
  5. Share - All documents are public by default

Tech Stack

Backend:

  • Java 17 + Spring Boot 3.2
  • H2 Database (in-memory)
  • WebSocket for real-time updates
  • iText for PDF generation

Frontend:

  • React 18 + React Router
  • Quill.js rich text editor
  • Axios for API calls
  • Modern CSS

Project Structure

simple-document-editor/
├── backend/           # Spring Boot API
│   ├── src/main/java/com/docclone/
│   │   ├── controller/    # REST endpoints
│   │   ├── service/       # Business logic
│   │   ├── model/         # Database entities
│   │   └── repository/    # Data access
│   └── pom.xml
├── frontend/          # React app
│   ├── src/
│   │   ├── components/    # UI components
│   │   └── services/      # API calls
│   └── package.json
└── README.md

API Endpoints

GET    /api/documents        # List all documents
GET    /api/documents/:id    # Get document
POST   /api/documents        # Create document
PUT    /api/documents/:id    # Update document
DELETE /api/documents/:id    # Delete document
GET    /api/documents/:id/download/pdf  # Download as PDF

Deployment

Local Development

Production

  1. Build frontend: npm run build
  2. Package backend: mvn clean package
  3. Deploy JAR file to your server
  4. Set environment variables for database

Contributing

  1. Fork the repo
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

License

MIT License - feel free to use this project however you'd like!

Why This Project?

Sometimes you just need a simple document editor without all the complexity:

  • ❌ No user accounts to manage
  • ❌ No complex permissions
  • ❌ No bloated features
  • ✅ Just clean, simple document editing
  • ✅ PDF export that actually works
  • ✅ Real-time collaboration when needed

Perfect for:

  • Quick note-taking
  • Simple document creation
  • Team collaboration
  • Learning full-stack development

Made with ☕ and code

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors