This guide will help you add new content to the Quizzers Anonymous website. All content is managed through JSON files in the src/data/ directory.
- Adding New Events
- Adding New Articles
- Adding Gallery Images
- Adding Quiz Sets
- Image Management
- Best Practices
Events are managed in src/data/events.json. Each event follows this structure:
{
"id": 1,
"title": "Event Name",
"description": "Brief description of the event",
"date": "YYYY-MM-DD",
"time": "HH:MM PM/AM",
"venue": "Location or platform",
"poster": "/media/pictures/events/poster-name.png",
"drivelink": "https://drive.google.com/file/d/...",
"eventStatus": "upcoming" | "completed"
},- Open
src/data/events.json - Add your event to the array with a unique
id - Upload poster image to
public/media/pictures/events/ - Set eventStatus:
"upcoming"for future events"completed"for past events with reports
{
"id": 5,
"title": "Science & Technology Quiz",
"description": "A comprehensive quiz covering latest developments in science and technology",
"date": "2025-10-15",
"time": "6:00 PM",
"venue": "Red Building Room 75",
"poster": "/media/pictures/events/sci-tech-quiz.png",
"drivelink": "",
"eventStatus": "upcoming"
}Instagram Articles (src/data/newArticles.json) - Articles that redirect to Instagram posts
{
"id": 1,
"title": "Article Title",
"description": "Brief description of the article content",
"author": "Author Name",
"category": "Category Name",
"date": "DD/MM/YYYY",
"image": "/media/pictures/articles/article-image.jpeg",
"instagramUrl": "https://www.instagram.com/p/POST_ID/"
}- Upload article image to
public/media/pictures/articles/ - Open
src/data/newArticles.json - Add your article with a unique
id - Use DD/MM/YYYY date format for proper sorting
- Set appropriate category:
"Business","Sports","History & Geography""Current Affairs","Technology","Science"
{
"id": 10,
"title": "The Evolution of Quiz Shows",
"description": "From radio to television to digital platforms - the fascinating journey of quiz competitions",
"author": "Team Member Name",
"category": "Entertainment",
"date": "15/10/2025",
"image": "/media/pictures/articles/quiz-evolution.jpeg",
"instagramUrl": "https://www.instagram.com/p/ABC123DEF456/"
}Gallery images are managed in src/data/galleryImages.json.
{
"id": 1,
"src": "/media/pictures/gallery/image-name.png",
"caption": "Description of the image",
"category": "events" | "team" | "workshops",
"year": 2025
}- Upload images to
public/media/pictures/gallery/ - Open
src/data/galleryImages.json - Add image entries with unique
ids - Set appropriate category:
"events"for event photos"team"for team photos"workshops"for workshop/training photos
{
"id": 15,
"src": "/media/pictures/gallery/annual-quiz-2025.png",
"caption": "Annual Inter-College Quiz Championship 2025",
"category": "events",
"year": 2025
}Quiz sets are managed in src/data/quizSets.json.
{
"id": 1,
"title": "Quiz Set Name",
"description": "Brief description and context",
"category": "Category Name",
"questions": 10,
"image": "/media/pictures/quizsets/quiz-image.jpeg",
"downloadUrl": "https://www.instagram.com/p/..." | "https://drive.google.com/..."
}- Upload quiz image to
public/media/pictures/quizsets/ - Open
src/data/quizSets.json - Add your quiz set with a unique
id - Add image path in the
imagefield - Set appropriate category:
"Entertainment""Sports""Arts & Literature""Science & Technology""History & Geography""Current Affairs"
{
"id": 8,
"title": "Indian Cinema Through Decades",
"description": "Bollywood and Regional Cinema Quiz - September 2025",
"category": "Entertainment",
"questions": 12,
"image": "/media/pictures/quizsets/indian-cinema.jpeg",
"downloadUrl": "https://www.instagram.com/p/DM4ZDZyy1Ex/"
}public/
└── media/
└── pictures/
├── events/ # Event posters
├── gallery/ # Gallery images
├── articles/ # Article images (optional)
└── quizsets/ # Quiz set images
- File Formats: Use
.png,.jpg, or.jpeg - Naming Convention: Use descriptive, lowercase names with hyphens
- ✅
sci-tech-quiz-2025.png - ❌
IMG_001.jpg
- ✅
- Image Sizes:
- Event posters: 400x600px recommended
- Quiz set images: 1080x1080px recommended (square format)
- Gallery images: 800x600px recommended
- Article images: 400x250px recommended
- File Size: Keep under 1MB for optimal loading
Team member portraits are no longer stored in public/media. Upload them to Vercel Blob and reference only the blob key inside src/data/team.json:
- Upload via CLI (example):
vercel blob put Heads/jaison.png ./local/path/jaison.png - Copy the key (
Heads/jaison.png) into thephotoKeyfield for that member. - Do not commit public URLs or binary assets to the repo; the
/api/teamendpoint will sign and proxy the file automatically. - If you add a new folder (e.g.,
Leads/), keep the path inside the key so the proxy can locate it.
- Navigate to the appropriate folder in
public/media/pictures/ - Copy your image to the folder
- Reference the image in JSON with path starting from
/media/- Example:
/media/pictures/events/your-image.png
- Example:
- Always increment IDs: Use the next available number for new entries
- Consistent formatting: Follow the exact JSON structure
- Validate JSON: Use a JSON validator to check syntax
- Test locally: Run
npm startto verify changes work correctly
- Keep descriptions concise but informative
- Use consistent date format:
YYYY-MM-DD - Provide accurate information: Double-check dates, times, and venues
- Optimize images: Compress images to reduce load times
- Make changes to JSON files
- Add/upload images to appropriate directories
- Test locally with
npm start - Commit and push changes to repository
- Verify on live site after deployment
-
Images not loading:
- Check file path spelling
- Ensure image exists in
public/media/pictures/ - Verify file extension matches JSON entry
-
JSON syntax errors:
- Missing commas between entries
- Incorrect quote marks (
"not') - Missing closing brackets
-
Content not updating:
- Clear browser cache
- Check if development server restarted
- Verify JSON file was saved
If you encounter issues:
- Check the browser console for error messages
- Validate your JSON using online validators
- Contact the development team
- Create an issue in the repository
- Events:
src/data/events.json - Instagram Articles:
src/data/newArticles.json - Expandable Articles:
src/pages/Articles.js - Gallery:
src/data/galleryImages.json - Quiz Sets:
src/data/quizSets.json - Images:
public/media/pictures/
# Start development server
npm start
# Install dependencies
npm install
# Build for production
npm run buildRemember to always test your changes locally before deploying to ensure everything works correctly!