A web application that converts Office documents to clean Markdown format. Built with React, Express, and Python.
- Drag and drop file upload
- Multiple file conversion support
- Real-time Markdown preview
- Download individual Markdown files
- Download all Markdown files as ZIP
- Copy Markdown to clipboard
- Beautiful UI with responsive design
- Frontend: React with TypeScript, TailwindCSS, Shadcn/UI
- Backend: Express.js (Node.js) with TypeScript
- Conversion: Python with MarkItDown library
- Build Tool: Vite
-
Client (
/client
): React application handling file uploads and displaying conversions- Uses React Query for API calls
- Implements drag-and-drop functionality
- Provides real-time Markdown preview
-
Server (
/server
): Express.js server handling file conversion- Manages file uploads with Multer
- Interfaces with Python script for conversion
- Serves both API and static files
-
Conversion (
/server/convert.py
): Python script using MarkItDown- Converts Office documents to Markdown
- Returns JSON with converted content
POST /api/convert
: Converts uploaded file to Markdown- Accepts: multipart/form-data with file
- Returns: JSON with markdown content
- Install dependencies:
npm install
- Start the development server:
npm run dev
The application will be available at http://0.0.0.0:5000
.
├── client/ # Frontend React application
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Utility functions
│ │ └── pages/ # Page components
├── server/ # Backend Express application
│ ├── convert.py # Python conversion script
│ ├── routes.ts # API routes
│ └── index.ts # Server entry point