A React.js and Node.js application for smooth image uploading, including drag-and-drop, image management, and robust error handling.
Figma Design:
https://www.figma.com/design/tAekIi9QG7AVxP9NGxkNYb/image-uploader-figma?node-id=0-1&t=mH62885eeSkaIzEr-1
Demo Video:
https://drive.google.com/file/d/1qi80iWpQLJv-E29Ii5FtRwYpso1J-QsK/view?usp=sharing
- Image Uploads (Single/Multiple)
- Drag-and-Drop
- Image Management (Crop, Delete)
- Progress/Error Handling
- API Integration
- Profile Picture Interface: Display or update profile picture.
- Image Upload Interface: Drag-and-drop or select images, handle errors.
- Progress/Error Handling: Show upload progress, handle errors.
- Image Management: Crop, delete, and select profile picture.
- Saving Preferences & Fetching Data: API endpoints for image data.
- Error States: Manage data fetch errors.
-
Start the Backend Server:
- Navigate to the
backend
directory and runnpm start
to start the Node.js server.
- Navigate to the
-
Run the Frontend Application:
- Navigate to the
frontend
directory and runnpm start
to start the React application.
- Navigate to the
-
Upload Images:
- Use the drag-and-drop area or file selector to upload images.
- Monitor upload progress and handle errors such as file size limits and unsupported formats.
-
Manage Uploaded Images:
- Crop images to a 1:1 aspect ratio.
- Delete images as needed.
- Select one image as the profile picture and crop it if required.
-
Check Deployment:
- Ensure that the frontend is correctly connected to the backend API endpoints.
-
Frontend:
- Deploy the React application on Vercel or Netlify.
- Update API URLs in the frontend to point to the deployed backend.
-
Backend:
- Deploy the Node.js server.
- Ensure database connections and environment variables are correctly configured.
This project delivers a complete image uploader solution with React.js and Node.js, featuring drag-and-drop, image management, and robust error handling, demonstrating strong frontend and backend development skills.
For any inquiries or feedback, please contact:
- Email: [email protected]
- LinkedIn: Rajkumar A