This is the official photography website for IIT Roorkee, showcasing the best photographic work and talented photographers.
This website is designed to be easily maintained by non-technical users. Most content can be updated by simply editing JSON files or replacing images in specific folders.
All images are stored locally in the following folder structure:
public/
└── assets/
├── logo.png # Main logo image
├── photos/
│ ├── photos_of_the_week/ # For the featured weekly photo
│ ├── landscape/ # Landscape category photos
│ ├── wildlife/ # Wildlife category photos
│ ├── portrait/ # Portrait category photos
│ ├── architecture/ # Architecture category photos
│ ├── street/ # Street photography
│ └── drishya-bg.jpg # Background for Drishya section
└── team/ # Team member profile photos
To add or update images:
- Place your new image in the appropriate folder
- Use consistent naming conventions (e.g.,
landscape1.jpg,landscape2.jpg) - Update the corresponding JSON file if needed
All editable content is stored in JSON files:
public/
└── assets/
└── data/
├── photo_of_the_week.json # Photo of the week data
├── gallery_config.json # Gallery configuration and photos
├── team.json # Team member information
└── drishya.json # Drishya event information
- Place your new photo in
public/assets/photos/photos_of_the_week/ - Edit
public/assets/data/photo_of_the_week.json:
{
"image": "/assets/photos/photos_of_the_week/your-new-photo.jpg",
"photographer": "Photographer Name",
"caption": "Photo description here",
"week": "Week of Month Day, Year"
}- Add your photos to the appropriate category folders
- Edit
public/assets/data/gallery_config.json:- Modify the
sectionTitleto change the gallery heading - Add/edit entries in the
photosarray - Add new genres to the
genresarray if needed
- Modify the
{
"sectionTitle": "Top Shots of the Month",
"genres": ["All", "Wildlife", "Street", "Portraits", "Landscape", "Architecture"],
"photos": [
{
"id": 1,
"image": "/assets/photos/category/filename.jpg",
"genre": "Category",
"photographer": "Name",
"description": "Description",
"settings": "ISO 100, f/8, 1/125s"
}
]
}- Add team member photos to
public/assets/team/ - Edit
public/assets/data/team.jsonto update member information
{
"secretary": {
"id": 1,
"name": "Name",
"position": "Secretary",
"image": "/assets/team/filename.jpg",
"instagram": "@handle",
"bio": "Bio text"
},
"additionalSecretaries": [ ... ],
"jointSecretaries": [ ... ]
}Edit public/assets/data/drishya.json to update:
- Stats displayed in the Drishya section
- Description text
- Event information
- Gallery images
- Create your logo image (PNG format recommended)
- Name it
logo.pngand place it inpublic/assets/ - The website will automatically use this image in the navbar
To run the development server:
npm install
npm run devTo build the site for production:
npm run buildThe built files will be in the dist directory.