This guide explains how to manage images for the ExploitX Memory Album website.
Central configuration file for all images including:
- Group photo for the home page
- Default fallback images for team members
- Default fallback images for events
- Upload your group photo to Google Drive
- Get the shareable link (make sure it's set to "Anyone with the link can view")
- Copy the file ID from the link. For example:
- Link:
https://drive.google.com/file/d/1ABC123XYZ456/view?usp=sharing - File ID:
1ABC123XYZ456
- Link:
- Update
images-config.json:"groupPhoto": { "url": "https://drive.google.com/file/d/YOUR_FILE_ID/view", "alt": "ExploitX Team Group Photo", "description": "Our amazing team working together" }
Team member photos are stored in members.json. Each member has a photo field:
{
"id": 1,
"Name": "John Doe",
"Role": "Developer",
"Tech-Role": "Full Stack",
"Description": "...",
"photo": "https://drive.google.com/file/d/YOUR_FILE_ID/view?usp=drive_link",
"linkedin": "...",
"github": "...",
"portfolio": "..."
}Steps:
- Upload member photo to Google Drive
- Get shareable link
- Add to the
photofield inmembers.json
Event photos are stored in events.json. Each event has a photo field:
{
"id": 1,
"title": "Event Name",
"date": "March 20, 2025",
"icon": "fas fa-flag",
"description": "Event description",
"type": "CTF",
"mode": "Online",
"photo": "https://drive.google.com/file/d/YOUR_FILE_ID/view"
}Steps:
- Upload event photo to Google Drive
- Get shareable link
- Add to the
photofield inevents.json
Alternative: You can also use direct image URLs:
"photo": "https://example.com/image.jpg"If no photo is provided for a member or event, the system will use default images from images-config.json:
- Team Members: Based on their role (network, cloud, web, linux, security)
- Events: Based on event type (ctf, workshop, bootcamp, hackathon)
You can update these defaults in images-config.json under:
teamDefaultImageseventDefaultImages
-
Recommended Sizes:
- Group Photo: 1200x600px or larger
- Member Photos: 500x500px (square)
- Event Photos: 800x600px (landscape)
-
Format: JPEG or PNG
-
File Size: Keep under 2MB for faster loading
-
Quality: Medium to high quality (70-85%)
- Upload image to Google Drive
- Right-click → Share → Get link
- Change to "Anyone with the link can view"
- Copy the link
- Extract the file ID (the long string between
/d/and/view) - Use in your JSON files
Image not showing:
- Check if the Google Drive link is public
- Verify the file ID is correct
- Check browser console for errors
Image loads slowly:
- Optimize image size before uploading
- Use appropriate dimensions
- Consider using a CDN for production
{
"groupPhoto": {
"url": "https://drive.google.com/file/d/1nfnPhP2BznNN7513ARdeDDlpUujprkJx/view",
"alt": "ExploitX Team 2025",
"description": "Our team at the annual hackathon"
},
"teamDefaultImages": {
"network": "https://images.unsplash.com/photo-1558494949-ef010cbdcc31"
},
"eventDefaultImages": {
"ctf": "https://images.unsplash.com/photo-1550751827-4bd374c3f58b"
}
}- Always use high-quality images
- Maintain consistent aspect ratios
- Test images on mobile devices
- Keep backup copies of original images
- Document image sources for copyright compliance