A modern, responsive image gallery built with Next.js, Cloudinary, and TypeScript, featuring modal lightbox functionality, optimized image loading with blur placeholders, and seamless state management for user navigation.
- Optimized Images: Integrated with Cloudinary for automatic image optimization.
- Blur Placeholders: Enhance UX with blurred image placeholders during image loading.
- Responsive Gallery: Fully responsive grid layout for displaying images.
- Modal Lightbox: View images in a modal popup for full-screen mode.
- State Preservation: Scroll back to the last viewed photo with persistent state.
Check out a live demo of the project:
Live Demo
-
Clone the repository:
git clone https://github.com/DigitalHerencia/southwestmediaservices cd southwestmediaservices
-
Install dependencies:
npm install
or
yarn install
-
Set up environment variables:
Create a .env.local file in the root directory and add your Cloudinary credentials:
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=your-cloudinary-name CLOUDINARY_API_KEY=your-api-key CLOUDINARY_API_SECRET=your-api-secret CLOUDINARY_FOLDER=your-folder-name
-
Run the development server:
npm run dev
Open http://localhost:3000
to view the application in your browser.
To add images, simply upload them to your Cloudinary account in the folder defined by CLOUDINARY_FOLDER
.
The application will fetch these images automatically from Cloudinary using their API. Images will display in a responsive grid and can be viewed in full-screen via the modal.
To deploy the project to Vercel, follow these steps:
-
Push your repository to GitHub.
-
Sign in to Vercel, and import your repository.
-
Vercel will automatically set up your project and deploy it.
- Next.js - React framework with hybrid static & server rendering
- TypeScript - Type-safe JavaScript
- Cloudinary - Cloud-based image and video management
- Tailwind CSS - Utility-first CSS framework
To start the app in development mode, run the following:
npm run dev
This will start the development server on http://localhost:3000.
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (git checkout -b feature/your-feature).
- Commit your changes (git commit -m 'Add your feature').
- Push to the branch (git push origin feature/your-feature).
- Open a pull request.
- Thanks to Vercel for hosting the demo.
- Thanks to Cloudinary for image optimization services.
For any inquiries, feel free to reach out at DigitalHerencia@Outlook.com.