FormBuddy is a modern web application that helps you manage, modify, and store various types of files like images, documents, and signatures. Built with Next.js 14 and integrated with Google Drive API, it offers a seamless experience for file management with features like image cropping, quality adjustment, and resolution variants.
- Google Drive Integration: Secure file storage using Google Drive's appDataFolder
- File Organization: Separate sections for Photos, Documents, and Signatures
- Image Processing:
- Image cropping with live preview
- Quality adjustment for images and PDFs
- Resolution variants management
- Modern UI/UX:
- Responsive design works on desktop and mobile
- Dark mode support
- Drag and drop file uploads
- Interactive file previews
- Security:
- Google OAuth2.0 authentication
- Protected API routes
- Secure file handling
-
Frontend:
- Next.js 14 (App Router)
- React
- TypeScript
- NextUI
- Tailwind CSS
- Framer Motion
-
Backend:
- Next.js API Routes
- Google Drive API
- Sharp (Image processing)
- Adobe PDF Services API
-
Authentication:
- NextAuth.js
- Google OAuth2.0
-
Clone the repository:
git clone https://github.com/yourusername/formbuddy.git cd formbuddy
-
Install dependencies:
bun install
-
Set up environment variables: Create a
.env.local
file with:NEXTAUTH_URL=http://localhost:3000 NEXTAUTH_SECRET=your_nextauth_secret GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret PDF_SERVICES_CLIENT_ID=your_adobe_client_id PDF_SERVICES_CLIENT_SECRET=your_adobe_client_secret
-
Run the development server:
bun dev
-
Open http://localhost:3000 in your browser.
formbuddy/
├── src/
│ ├── app/ # Next.js app router pages
│ ├── components/ # React components
│ ├── drivers/ # Core functionality & context
│ └── hooks/ # Custom React hooks
/api/auth/*
- Authentication endpoints/api/convert_file
- File conversion/api/create_file
- File creation/api/crop_file
- Image cropping/api/down_file
- File download/api/get_file
- File metadata/api/init_user
- User initialization/api/list_files
- List user files/api/quality_file
- Quality adjustment/api/remove_file
- File deletion
Contributions are welcome! Please feel free to submit a Pull Request.
For support, please open an issue in the GitHub repository.