PhotoRefine is a professional-grade, browser-based image editor built with modern web technologies. It provides a sleek, high-performance interface for quick photo adjustments, professional presets, and cloud-synced edit history using MongoDB and Google OAuth.
- Professional UI/UX: Minimalist 3-column layout with Lucide icons and Inter typography.
- 15 Professional Presets:
- Core: Bold (High dynamic range), Vivid, Vintage, B&W.
- Cinematic: Cinematic tones, Teal & Orange, Moody, Gritty.
- Nature: Golden Hour, Cold Winter, High Key.
- Artistic: Dreamy, Retro Film, Neon Electric.
- Manual Adjustments:
- Contrast & Saturation (Real-time Canvas filters).
- Tonal Controls: Highlights and Shadows management.
- Detail: Convolution-based Sharpening.
- Cloud-Synced History: Powered by MongoDB, Cloudinary, and Google OAuth, allowing you to securely save, reload, and manage your edits across devices.
- High Performance: Optimized pixel processing and scaled canvas rendering for a snappy experience.
| Before | After |
|---|---|
![]() |
![]() |
![]() |
![]() |
- HTML5 Canvas: Core image processing engine (zero server cost for image manipulation).
- Vanilla CSS: Premium styling with glassmorphism and responsive layout.
- JavaScript (Vanilla): Preset logic, custom convolution kernels, and CropperJS integration.
- Lucide Icons: Clean, consistent iconography.
- Node.js & Express: Fast, lightweight server handling API routes and templating (EJS).
- MongoDB & Mongoose: Secure database for storing user profiles and image edit history.
- Cloudinary: Dedicated cloud storage and global CDN for lightning-fast image delivery.
- Passport.js: Robust authentication using Google OAuth 2.0.
- Clone this repository:
git clone https://github.com/TranHuuDat2004/photo-refine.git cd photo-refine/server - Install dependencies:
npm install
- Set up environment variables:
- Create a
.envfile in theserverdirectory and configure your MongoDB URI, Google OAuth credentials, and Cloudinary keys (see.env.example).
- Create a
- Start the server:
npm start
- Open
http://localhost:3000in any modern web browser.
When you click the Download button, your edited image is:
- Saved to your local machine as a PNG.
- Automatically stored in the Recent Edits sidebar for future access.
This project is open-source and available under the MIT License.
Developed with ❤️ by TranHuuDat2004




