Head to the Virtual Fairgrounds
At the heart of the Virtual Fairgrounds project lies a profound commitment to preserving the essence of Oklahoma City's historic Fairgrounds District, an area once teeming with life and culture, now remembered only through scattered narratives and memories. This initiative leverages immersive virtual reality technology platforms designed by Drone's Eye View (DEV) to resurrect a neighborhood once vibrant with culture and community, but lost to the tides of urban renewal. The project, inspired by the visionary guidance of Librarian Judith Matthews, is not merely a technical feat; it is a heartfelt tribute to an Oklahoma City treasure tragically lost. By weaving archival recordings and oral histories into the fabric of the virtual environment, DEV aims to offer an immersive educational experience that honors the district's legacy. The urgency of this mission is underscored by the dwindling number of individuals who experienced Deep Deuce firsthand, making this project a crucial bridge between past and present generations.
If you are looking for the VR Virtual Fairgrounds, here is its repo.
This guide will walk you through adding new historical images and locations to the Virtual Fairgrounds project. No programming knowledge required!
The Virtual Fairgrounds displays historical images when you interact with different locations (like the Theater or Bill's Cleaners). These images are organized in folders and listed in a special file that tells the program what to show.
Before adding images to the project:
- Name your files clearly - Use simple names like
theater-front-1955.jpginstead ofIMG_12345.jpg- β
Good:
bills-cleaners-interior.jpg - β Bad:
DSC_0042(1).JPG
- β
Good:
- Avoid special characters - Don't use symbols like #, &, @, or spaces in filenames
- β
Good:
main-street-view.jpg - β Bad:
main street & bath.jpg
- β
Good:
- Keep file sizes reasonable - Images should be under 5MB (resize in any photo app if needed)
Supported image types:
- JPG or JPEG (best for photographs)
- PNG (for images with text or graphics)
- GIF (for simple animations)
- TIF or TIFF (historical archives - these load slower)
Navigate to your project folder, then find these locations:
virtual-fairgrounds-web/
βββ public/
βββ images/
βββ eastside/ β Theater images go here
βββ 718/ β Bill's Cleaners images go here
βββ 714/ β Domino Parlor images go here
βββ records/ β Record Shop images go here
Using GitHub.com (easier for beginners):
- Go to your repository on GitHub.com
- Click on
publicfolder - Click on
imagesfolder - Click on the location folder (like
eastside) - Click "Upload files" button
- Drag your images or click "choose your files"
Now we need to tell the website about your new images.
Using GitHub.com:
- Navigate back to the main repository page
- Go to
publicβjsβ click onimageManifest.json - Click the pencil icon (βοΈ) to edit
- Find your location section (search for "theater", "cleaners", etc.)
- Add your image information
What to add - Copy this template:
{
"src": "../public/images/FOLDERNAME/YOUR-IMAGE.jpg",
"alt": "Brief description of what's in the image",
"caption": "Caption that appears below the image when viewing"
},Real example (copy and modify this):
{
"src": "../public/images/eastside/theater-marquee-1955.jpg",
"alt": "East Side Theater marquee showing movie titles",
"caption": "The marquee advertises 'Rebel Without a Cause' - October 1955"
},Where exactly to add it:
Look for your location and add the new image after the last image but before the closing ]:
"images": [
{
"src": "../public/images/eastside/existing-image.jpg",
"alt": "An existing image",
"caption": "Existing caption"
},
{
"src": "../public/images/eastside/YOUR-NEW-IMAGE.jpg",
"alt": "Your description",
"caption": "Your caption"
}
]- Forgetting the comma - Every
}needs a comma after it, EXCEPT the very last one - Wrong quotes - Use straight quotes
"(hold Shift and press the key next to Enter) - Typos in the path - The filename must match EXACTLY (including capital letters)
- Scroll to the bottom of the page
- In "Commit changes" box, type: "Added new images for [location name]"
- Click "Commit changes" button
- Wait 5-10 minutes for the website to update
- Visit the live site and test your images!
This is more complex and requires help from a developer for the final step.
Using GitHub.com:
- Go to
publicβimages - Click "Create new file"
- Type:
yourlocationname/placeholder.txt(this creates a folder) - Click "Commit new file"
- Go back and upload your images to this new folder
Edit imageManifest.json and add this template at the end (but before the final ]):
,
{
"id": "yourlocationid",
"title": "Name That Appears in Popup",
"description": "One sentence about this location",
"html": "<p><strong>Additional historical details here</strong></p>",
"images": [
{
"src": "../public/images/yourfolder/first-image.jpg",
"alt": "Description of image",
"caption": "Historical caption with date"
}
]
}New locations need to be made interactive in the 3D world. Email the team with:
- Your new location ID
- Description of where it should be in the virtual neighborhood
- Any historical details about its original location
The JSON Checker:
- Copy all the content from
imageManifest.json - Go to https://jsonlint.com/
- Paste your content and click "Validate JSON"
- If it shows errors, it will tell you which line has a problem
Common Error Messages and Fixes:
| What You See | What It Means | How to Fix |
|---|---|---|
| "Expecting comma" | Missing comma after a } |
Add a comma |
| "Unexpected token" | Wrong type of quotes or extra character | Check your quotes are straight " |
| "Expecting string" | Missing quotes around text | Add quotes around your text |
Contact the development team if:
- The website shows an error page
- Your images won't appear after 30 minutes
- You need to add a new interactive location
- You're unsure about any step
File naming rules:
- No spaces (use hyphens:
bill-store-front.jpg) - No special characters (#&@!*)
- Keep it short and descriptive
Image list format (the pattern to follow):
comma β {
quote β "src": "../public/images/folder/filename.jpg" β comma
quote β "alt": "What the image shows" β comma
quote β "caption": "Historical description and date" β quote
} β comma (except if it's the last one)
Testing checklist:
- File names have no spaces or special characters
- Images uploaded to correct folder
- Image paths in JSON match exactly
- All commas in the right places
- Waited 10 minutes after saving
- Cleared browser cache (Ctrl+F5 or Cmd+Shift+R)
- Make a backup first - Before editing, copy the entire contents of
imageManifest.jsonto a text file on your computer - Add one image at a time - It's easier to find mistakes this way
- Use the browser's incognito/private mode - This ensures you see the latest version
- Take screenshots - If something goes wrong, screenshots help developers help you
Remember: Everyone makes mistakes when learning! The development team is here to help.
This repo has been used in various classes at Oklahoma City University to teach students real world software concepts while putting work into the great community project sponsored by the Metropolitan Library System.
This repo will be used to teach software engineering practices to undergraduate students enrolled in a Introduction to Software Engineering course at Oklahoma City University.
With resources provided by the Metropolitan Library System and management provided by DEV undergraduate internships to further this project have official started in the Summer of 2025!
- xDarthx - Summer 2025