https://github.com/kennymwendwax/reformat
Reformat is a modern file conversion tool designed to handle multiple file formats with ease and efficiency.
https://github.com/kennymwendwax/reformat
file-converter geist golang nextjs reactjs shadcn-ui tailwindcss typescript
Last synced: 6 months ago
JSON representation
Reformat is a modern file conversion tool designed to handle multiple file formats with ease and efficiency.
- Host: GitHub
- URL: https://github.com/kennymwendwax/reformat
- Owner: KennyMwendwaX
- Created: 2024-11-18T20:36:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-20T19:35:57.000Z (over 1 year ago)
- Last Synced: 2025-02-03T16:18:12.469Z (over 1 year ago)
- Topics: file-converter, geist, golang, nextjs, reactjs, shadcn-ui, tailwindcss, typescript
- Language: TypeScript
- Homepage:
- Size: 384 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Reformat
Reformat is a modern file conversion tool designed to handle multiple file formats with ease and efficiency. It consists of a **Next.js-based frontend** and a **Go-based backend**, providing a sleek interface for uploading and converting files.
---
## Features
### 🌟 Frontend
- Intuitive drag-and-drop file upload
- Real-time conversion progress tracking
- Responsive design with **Tailwind CSS**
- Quality settings for optimized conversions
- Smooth animations and transitions
### 🛠Backend
- Support for multiple formats: **PDF, DOCX, Images (JPG, PNG, GIF)**
- Context-based request handling with timeouts
- Temporary file storage with cleanup
- Progress monitoring for large file uploads
---
## Tech Stack
### Frontend
- **Framework:** Next.js 14
- **Language:** TypeScript
- **Styling:** Tailwind CSS
- **UI Components:** shadcn/ui
- **Animations:** Motion React
### Backend
- **Language:** Go
- **Server Framework:** net/http
- **Conversion Libraries:** Custom-built converters
---
## Project Structure
```plaintext
reformat/
├── frontend/
│ ├── src/
│ │ ├── app/ # Next.js app router files
│ │ │ ├── globals.css # Global styles
│ │ │ ├── layout.tsx # Root layout
│ │ │ └── page.tsx # Home page
│ │ ├── components/ # React components
│ │ │ ├── conversion-config.ts
│ │ │ └── upload-area.ts
│ │ └── lib/ # Utility functions and configs
│ │ ├── config.ts # File type configurations
│ │ ├── file-utils.ts # File handling utilities
│ │ ├── types.ts # TypeScript type definitions
│ │ └── utils.ts # General utilities
│ ├── next.config.ts
│ ├── tailwind.config.ts
│ ├── components.json
│ ├── package-lock.json
│ ├── package.json
│ ├── tsconfig.json
│ ├── .gitignore
│ └── README.md
├── backend/
│ ├── cmd/ # Main application entry points
│ │ └── main.go # Server entry point
│ ├── internal/ # Private application code
│ │ └── handlers/ # HTTP request handlers
│ │ └── conversion_handler.go
│ ├── pkg/ # Public packages
│ │ └── converter/ # Conversion libraries
│ │ ├── common.go
│ │ ├── pdf_converter.go
│ │ ├── image_converter.go
│ │ └── docx_converter.go
│ ├── go.mod
│ ├── go.sum
│ └── README.md
└── README.md # Project documentation
```