โ† Back to SHIRWAN IT page

๐Ÿ“ธ Gallery Photo Upload Instructions

Step-by-step guide for adding real project photos to the SHIRWAN IT About page gallery.

1 Create the folder structure

Create a folder called gallery/ in the same directory as about.html. Put all your project photos inside it.

your-website/ โ”œโ”€โ”€ about.html โ”œโ”€โ”€ index.html โ”œโ”€โ”€ style.css โ”œโ”€โ”€ app.js โ”œโ”€โ”€ gallery-uploads.html โ† this file โ””โ”€โ”€ gallery/ โ† create this folder โ”œโ”€โ”€ solar-1.jpg โ”œโ”€โ”€ solar-2.jpg โ”œโ”€โ”€ solar-3.jpg โ”œโ”€โ”€ internet-1.jpg โ”œโ”€โ”€ internet-2.jpg โ”œโ”€โ”€ internet-3.jpg โ”œโ”€โ”€ camera-1.jpg โ”œโ”€โ”€ camera-2.jpg โ””โ”€โ”€ camera-3.jpg
Tip: Use JPEG (.jpg) for photos โ€” they're smallest. PNG is fine too but larger. Aim for 1200โ€“2000px wide, under 500KB each for fast loading.

2 Recommended photo content per category

File nameCategoryWhat to photograph
solar-1.jpgโ˜€๏ธ SolarRooftop panels installed on a house โ€” wide shot from outside
solar-2.jpgโ˜€๏ธ SolarInverter + battery setup on a wall indoors
solar-3.jpgโ˜€๏ธ SolarTeam installing panels, or close-up of panel array
internet-1.jpg๐ŸŒ InternetAccess point or antenna mounted on roof / pole
internet-2.jpg๐ŸŒ InternetServer rack / patch panel / cabling work
internet-3.jpg๐ŸŒ InternetWiFi router or switch installation in office
camera-1.jpg๐Ÿ“ท CameraDome or bullet camera mounted on wall/ceiling
camera-2.jpg๐Ÿ“ท CameraNVR monitor showing camera feeds
camera-3.jpg๐Ÿ“ท CameraPTZ or outdoor camera on a pole / corner bracket
โš ๏ธ Privacy: Blur or crop out faces, ID cards, license plates or anything personally identifiable before uploading photos to a public website.

3 Replace placeholder cards in about.html

Open about.html and find the GALLERY GRID section (search for id="galleryGrid"). Each placeholder looks like this โ€” delete it and replace with the template below.

DELETE this placeholder block:

<!-- DELETE THIS -->
<div class="gallery-placeholder" data-cat="solar">
  ...
</div>

REPLACE with this real photo block:

<!-- โ˜€๏ธ Solar photo -->
<div class="gallery-item" data-cat="solar">
  <img
    src="gallery/solar-1.jpg"
    alt="Solar panel installation โ€” Erbil"
    loading="lazy"
  />
  <div class="gi-overlay">
    <div>
      <div class="gi-cat solar">โ˜€๏ธ Solar</div>
      <div class="gi-label">Rooftop Solar โ€” Erbil</div>
    </div>
  </div>
</div>

4 Ready-to-paste templates for all 9 photos

Copy the entire block below and paste it inside <div class="gallery-grid" id="galleryGrid">, replacing all the placeholders.

<!-- โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
     SHIRWAN IT โ€” Gallery items
     Replace each src with your real photo path
     โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• -->

<!-- โ˜€๏ธ SOLAR 1 -->
<div class="gallery-item" data-cat="solar">
  <img src="gallery/solar-1.jpg" alt="Solar panel installation" loading="lazy"/>
  <div class="gi-overlay"><div>
    <div class="gi-cat solar">โ˜€๏ธ Solar</div>
    <div class="gi-label">Rooftop Solar โ€” Erbil</div>
  </div></div>
</div>

<!-- โ˜€๏ธ SOLAR 2 -->
<div class="gallery-item" data-cat="solar">
  <img src="gallery/solar-2.jpg" alt="Battery and inverter setup" loading="lazy"/>
  <div class="gi-overlay"><div>
    <div class="gi-cat solar">โ˜€๏ธ Solar</div>
    <div class="gi-label">Battery & Inverter โ€” Sulaymaniyah</div>
  </div></div>
</div>

<!-- โ˜€๏ธ SOLAR 3 -->
<div class="gallery-item" data-cat="solar">
  <img src="gallery/solar-3.jpg" alt="Solar panel array" loading="lazy"/>
  <div class="gi-overlay"><div>
    <div class="gi-cat solar">โ˜€๏ธ Solar</div>
    <div class="gi-label">Solar Array โ€” Duhok</div>
  </div></div>
</div>

<!-- ๐ŸŒ INTERNET 1 -->
<div class="gallery-item" data-cat="internet">
  <img src="gallery/internet-1.jpg" alt="Access point installation" loading="lazy"/>
  <div class="gi-overlay"><div>
    <div class="gi-cat internet">๐ŸŒ Internet</div>
    <div class="gi-label">Wireless Access Point โ€” Erbil</div>
  </div></div>
</div>

<!-- ๐ŸŒ INTERNET 2 -->
<div class="gallery-item" data-cat="internet">
  <img src="gallery/internet-2.jpg" alt="Server rack and cabling" loading="lazy"/>
  <div class="gi-overlay"><div>
    <div class="gi-cat internet">๐ŸŒ Internet</div>
    <div class="gi-label">Server Room & Cabling โ€” Sulaymaniyah</div>
  </div></div>
</div>

<!-- ๐ŸŒ INTERNET 3 -->
<div class="gallery-item" data-cat="internet">
  <img src="gallery/internet-3.jpg" alt="WiFi router setup" loading="lazy"/>
  <div class="gi-overlay"><div>
    <div class="gi-cat internet">๐ŸŒ Internet</div>
    <div class="gi-label">Office Network Setup โ€” Duhok</div>
  </div></div>
</div>

<!-- ๐Ÿ“ท CAMERA 1 -->
<div class="gallery-item" data-cat="camera">
  <img src="gallery/camera-1.jpg" alt="CCTV dome camera" loading="lazy"/>
  <div class="gi-overlay"><div>
    <div class="gi-cat camera">๐Ÿ“ท Camera</div>
    <div class="gi-label">CCTV Installation โ€” Erbil Shop</div>
  </div></div>
</div>

<!-- ๐Ÿ“ท CAMERA 2 -->
<div class="gallery-item" data-cat="camera">
  <img src="gallery/camera-2.jpg" alt="NVR monitor setup" loading="lazy"/>
  <div class="gi-overlay"><div>
    <div class="gi-cat camera">๐Ÿ“ท Camera</div>
    <div class="gi-label">NVR Monitor Setup โ€” Duhok</div>
  </div></div>
</div>

<!-- ๐Ÿ“ท CAMERA 3 -->
<div class="gallery-item" data-cat="camera">
  <img src="gallery/camera-3.jpg" alt="Outdoor PTZ camera" loading="lazy"/>
  <div class="gi-overlay"><div>
    <div class="gi-cat camera">๐Ÿ“ท Camera</div>
    <div class="gi-label">Outdoor PTZ โ€” Sulaymaniyah</div>
  </div></div>
</div>

5 Adding more photos (beyond the 9 defaults)

Just copy any gallery-item block and change the src, alt, data-cat and label text. The masonry layout handles any number automatically.

Valid data-cat values:

data-catFilter tab it appears undergi-cat class to use
solarSolargi-cat solar
internetInternetgi-cat internet
cameraCamerasgi-cat camera
Tip: Mix portrait and landscape photos โ€” the masonry layout looks best with varied heights. Aim for 60% landscape, 40% portrait.

6 Photo optimization (important for fast loading)

Large photos slow down the page. Compress them before uploading:

ToolHow to useTarget size
squoosh.appFree website โ€” drag & drop photo, download compressedUnder 200KB per photo
TinyPNG.comFree website โ€” upload up to 20 photos at onceReduces by 60โ€“80%
Windows Photos appOpen photo โ†’ โ‹ฏ โ†’ Resize โ†’ Medium or SmallApprox 800KBโ†’150KB
Recommended size: 1400px wide maximum, saved as JPEG at 80% quality. This gives sharp photos on all screens while loading quickly.
Built by BlackCode Soft Company LTD for SHIRWAN IT ยท Kurdistan Region, Iraq