A modern, responsive photography portfolio website showcasing nature and wildlife photography. Built with React and optimized for performance with automatic image management.
Visit the portfolio: https://abhi-ms.github.io/photography/
- 🖼️ Dynamic Image Gallery: Automatic image loading from assets folder
- 📱 Responsive Design: Optimized for desktop, tablet, and mobile devices
- ⚡ Performance Optimized: Lazy loading, visual compression effects, and smooth scrolling
- 🎨 Interactive Hover Effects: Images expand and enhance quality on hover
- 🔍 SEO Optimized: Professional meta tags, Open Graph support, and structured data
- 📸 Image Carousel: Auto-playing slideshow of featured photography
- 🌙 Dark Theme: Professional dark design that highlights photography
- 📧 Contact Integration: Direct contact information and social media links
- Frontend: React 18.2.0
- UI Framework: Bootstrap 5.3.2 + React Bootstrap 2.9.2
- Build Tool: Create React App
- Deployment: GitHub Pages
- Styling: CSS3 with custom animations and effects
- Performance: Native lazy loading, CSS GPU acceleration
- Node.js (v14 or higher)
- npm or yarn
-
Clone the repository
git clone https://github.com/Abhi-MS/photography.git cd photography -
Install dependencies
npm install
-
Start development server
npm start
Open http://localhost:3000/photography to view it in the browser.
-
Build for production
npm run build
-
Deploy to GitHub Pages
npm run deploy
The portfolio features an automatic image management system - no coding required!
-
Add images to the assets folder
src/assets/your-new-photo.jpg -
Supported formats:
.jpg,.jpeg,.png,.svg -
That's it! - Photos automatically appear in your gallery
sunset-landscape.jpg→ "Sunset Landscape"mountain_view.png→ "Mountain View"wildlife_portrait.jpg→ "Wildlife Portrait"
The system automatically:
- ✅ Generates professional titles and alt text
- ✅ Creates unique IDs and metadata
- ✅ Optimizes for SEO and accessibility
- ✅ Applies lazy loading and performance optimizations
photography/
├── public/
│ ├── index.html # SEO-optimized HTML with meta tags
│ └── manifest.json # PWA configuration
├── src/
│ ├── assets/ # 📸 ADD NEW PHOTOS HERE
│ ├── components/ # React components
│ │ ├── Header.js # Navigation and branding
│ │ ├── Home.js # Image carousel
│ │ ├── Projects.js # Photo gallery
│ │ ├── Contact.js # Contact information
│ │ ├── Footer.js # Footer content
│ │ ├── LazyImage.js # Smart image component
│ │ └── LoadingSpinner.js # Loading components
│ ├── styles/ # CSS styling
│ │ ├── Header.css
│ │ ├── Home.css
│ │ ├── Projects.css
│ │ └── Contact.css
│ ├── utils/
│ │ └── images.js # 🔄 Automatic image management
│ ├── App.js # Main application
│ └── index.js # Entry point
├── build/ # Production build files
└── package.json # Dependencies and scripts
- Images: Add to
src/assets/ - Contact Info: Edit
src/components/Contact.js - About Text: Modify
src/components/Home.js - Social Links: Update
src/components/Header.js
- Colors: Modify CSS custom properties in component styles
- Layout: Adjust grid and flexbox properties in CSS files
- Animations: Customize transitions and hover effects
- Meta Tags: Edit
public/index.html - Site Info: Update
public/manifest.json - Structured Data: Modify JSON-LD in HTML head
- Lazy Loading: Images load only when visible
- Visual Compression: CSS effects simulate quality enhancement on hover
- GPU Acceleration: Hardware-accelerated animations
- Optimized Builds: Webpack optimizations for production
- Responsive Images: Proper scaling across devices
npm start- Start development servernpm run build- Create production buildnpm run deploy- Deploy to GitHub Pagesnpm test- Run testsnpm run eject- Eject from Create React App (not recommended)
- ✅ Chrome (latest)
- ✅ Firefox (latest)
- ✅ Safari (latest)
- ✅ Edge (latest)
- ✅ Mobile browsers (iOS Safari, Chrome Mobile)
This project is open source and available under the MIT License.
Abhi Murali - Professional Photographer
- 🌐 Website: https://abhi-ms.github.io/photography/
- 📸 Instagram: @photo_phile_photography
- 📧 Email: abhimsrami@gmail.com
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
Give a ⭐ if you like this project and find it useful!
Built with ❤️ by Abhi Murali | Professional Nature & Wildlife Photography