An Image Gallery App built with React.
- Demo
- Features
- Technologies Used
- Getting Started
- Available Scripts
- How It Works
- Future Improvements
- Challenges and Learnings
You can view a live demo of the project here.
- Upload images by providing image URLs.
- Display images in a responsive grid layout.
- Real-time addition of images to the gallery.
- Simple, intuitive UI for image management.
- React (for building the UI)
- JavaScript/JSX (for logic and structure)
- CSS Grid (for responsive layout)
- Vite (for fast development environment)
Follow these steps to run the project locally:
Ensure that Node.js and npm are installed on your machine. If not, you can download them from here.
-
Clone the repository:
git clone https://github.com/Jiteshiyu/Pixarium.git cd Pixarium
-
Install the dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:3000
to see the app in action.
npm run dev
: Start the development server.npm run build
: Build the app for production.npm run preview
: Preview the production build locally.
The app is built with React and uses the useState
hook for managing the state of the image list.
Here’s a breakdown of its functionality:
- Image Display: Images are displayed in a grid layout using CSS Grid, with responsiveness for different screen sizes.
- Real-Time Updates: Once an image is added, it instantly appears in the gallery without requiring a page refresh.
- Image Upload: Users can enter the URL of an image and upload it by clicking the "Upload Image" button.
- Drag-and-Drop Upload: Allow users to upload images by dragging them into the app.
- Image Upload via File: Allow users to upload images from their local file system instead of just via URL.
- Image Deletion: Add functionality to remove images from the gallery.
- CSS Grid: Learning to implement a responsive grid system that adjusts to various screen sizes.
- State Management: Using React’s
useState
to dynamically update the list of images and properly re-render the components. - Componentization: Structuring the app into reusable components like
Uploader
,ImageGrid
, andImageItem
to maintain clean and maintainable code.
Give a 🌟 to this repo if you liked it .
Connect with me