Enhance Existing Vue + Laravel App (Document Upload & Cloud Import)

Job ID: 40230476

Budget: $250 – $750 USD

1. Project Overview
We are seeking a developer to enhance an existing production web application built with the following technology stack:

• Frontend: Vue.js
• Backend: Laravel (API)
• Database: PostgreSQL
• Storage: AWS S3
• Deployment: GitHub Actions + AWS EC2

The system is already live and operational. This engagement focuses on foundational improvements and feature extensions — not a full redesign.

2. Scope of Work (Initial Phase)
This phase focuses on improving the document upload workflow and implementing basic cloud import functionality.

2.1 Document Upload Improvements
Requirements
• Implement drag-and-drop upload support.
• Support the following file types:
• PDF
• DOC / DOCX
• CSV
• XLSX
• JPG / JPEG
• ZIP (extract supported files inside)

Functional Changes
• Remove the existing PDF merge logic.
• Upload all supported files individually to AWS S3.
• Add a UUID prefix to each uploaded file.
• Update the API payload to send a list of uploaded files instead of a merged PDF file.

Expected Outcome
• Files are uploaded individually to S3.
• API receives structured list of file metadata.
• ZIP files are processed and extracted server-side before upload.

2.2 Cloud Import (Basic Implementation)
Supported Sources
• Google Drive links
• Dropbox links

Functional Requirements
• Enable file import from shared links.
• Implement queue-based background processing for downloads.
• Prevent timeouts when importing large folders.
• Implement basic retry and exponential backoff handling for API rate limits.

Notes
• Full UX redesign is NOT part of this phase.
• Basic modal integration based on provided Figma design only.
• Focus is on core functionality and reliability.

2.3 Small UI Enhancements
Lot Number Field
• Add a new optional numeric input field labeled “Lot Number”.
• Validation must allow numbers only.
• Pass the value to the backend API.
• No database storage required for this field at this stage.

3. Current Infrastructure
• CI/CD via GitHub Actions (auto-deploy on dev and main branches)
• Separate staging and production environments
• Existing Laravel queue system
• AWS EC2 hosting
• PostgreSQL database with migrations

4. Required Skills & Experience
• Strong experience with Vue.js
• Strong experience with Laravel
• Experience integrating with:
• Google Drive API
• Dropbox API
• Experience implementing background jobs and queue processing
• Comfortable working within an existing codebase
• Ability to provide minimum and maximum hour estimates per task
• Clear communication if estimates may be exceeded

5. Important Notes
• Core functionality implementation is the priority.
• Advanced optimizations and UI refinements can be addressed in later phases.
• Budget awareness is important.
• Development will follow feature-branch workflow with pull requests.

6. Deliverables
• Fully functional drag-and-drop file upload (including ZIP extraction)
• Removal of existing PDF merge process
• Updated API payload structure
• Working Google Drive import (basic version)
• Working Dropbox import (basic version)
• Queue-based background processing for imports
• Numeric-only optional Lot Number input field