- Node.js 18+
- npm or pnpm
# Install dependencies
npm install
# Run development server
npm run dev
# Build for production
npm run build
# Preview production build
npx serve outThe site will be available at http://localhost:3000.
Before committing changes, always run:
# Check code quality and style
npm run lint
# Run tests to ensure functionality
npm test
# Fix auto-fixable linting issues
npm run lint -- --fixThese checks ensure:
- Code follows consistent style guidelines
- No TypeScript errors in production build
- All components render correctly
- Accessibility standards are maintained
Edit data/people.json:
{
  "id": "unique-id",
  "name": "Name",
  "role": "PhD Student",
  "project": "Research focus",
  "tags": ["tag1", "tag2"],
  "links": {
    "scholar": "url",
    "github": "url"
  }
}Edit data/publications.json:
{
  "id": "unique-id",
  "title": "Paper Title",
  "authors": ["Author 1", "Author 2"],
  "year": 2024,
  "venue": "Conference/Journal",
  "type": "conference|journal|preprint",
  "tags": ["tag1", "tag2"],
  "featured": true,
  "links": {
    "arxiv": "url",
    "github": "url"
  }
}Edit data/research.json to add or modify research directions.
We welcome contributions to improve the website! All changes should go through the pull request process to ensure quality and allow for review.
- 
Fork and clone the repository and create a branch for your update: git checkout -b update/your-change-name 
- 
Make your changes following our development best practices - Run npm run devto preview changes locally
- Test responsiveness on different screen sizes
- Ensure accessibility standards are met
 
- Run 
- 
Test thoroughly before committing npm run lint # Check code quality npm test # Run test suite 
- 
Commit your changes with clear, descriptive messages git add . git commit -m "feat: add new team member profile" 
- 
Push to your branch and create a pull request git push origin update/your-change-name 
- 
Open a Pull Request on GitHub - Provide a clear title and description
- Explain what changes were made
- Request review from team members
 
- 
Merge once approved - Squash commits if there are many small changes
- Delete the feature branch after merging
 
For simple content updates (team members, publications, research areas):
- Always start with a pull request - even for small changes
- Edit the relevant JSON file in /data/
- Follow the existing data structure and formatting
- Verify the change appears correctly in development mode
- Submit PR with clear description of what was added/changed