A modern, responsive website for the Bio-Inspired Robotics Design Lab built with React and Vite.
- 🚀 Modern React with Vite for fast development
- 📱 Fully responsive design
- 🎨 Smooth animations with GSAP
- 📊 Dynamic team data from Google Sheets
- 🔍 Interactive components and galleries
- ♿ Accessible design patterns
The People section dynamically fetches team data from a Google Sheets document. To set this up:
- Go to the Google Cloud Console
- Create a new project or select an existing one
- Enable the Google Sheets API:
- Go to "APIs & Services" > "Library"
- Search for "Google Sheets API"
- Click on it and press "Enable"
- Go to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "API Key"
- Copy the generated API key
- (Recommended) Restrict the API key:
- Click on the API key to edit it
- Under "API restrictions", select "Restrict key"
- Choose "Google Sheets API"
- Under "Website restrictions", add your domain
-
Copy
.env.exampleto.env:cp .env.example .env
-
Add your API key to
.env:VITE_GOOGLE_SHEETS_API_KEY=your_actual_api_key_here
Your Google Sheet should have a "People" sheet with the following columns:
| Title | Name | Photo | Research Interests/Project | Email | Post & Current Affiliation | Education (PhD) | Institution | Year | Education (MTech/MS) | Institution | Year | Education (BTech/BE) | Institution | Year |
Example Sheet: View Sample Sheet
- Open your Google Sheet
- Click "Share" button
- Change access to "Anyone with the link can view"
- Copy the sheet ID from the URL (the long string between
/d/and/edit)
-
Install dependencies:
npm install
-
Set up environment variables (see Google Sheets Integration above)
-
Start development server:
npm run dev
-
Build for production:
npm run build
src/
├── components/ # React components
│ ├── People/ # Team members section
│ ├── Header/ # Navigation header
│ └── ...
├── services/ # API services
│ └── googleSheets.js # Google Sheets integration
├── utils/ # Utility functions
│ ├── constants.js # App constants
│ └── gsapAnimations.js # Animation helpers
└── assets/ # Static assets
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
- React 18 - UI library
- Vite - Build tool and dev server
- GSAP - Animations
- Framer Motion - Additional animations
- Google Sheets API - Dynamic data source
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License.