A modern, responsive website for a research lab built with Next.js 14, TypeScript, and Tailwind CSS. This project represents a comprehensive migration from Jekyll to a modern web stack with enhanced content management and dynamic API integrations.
# Install dependencies
npm install
# Start development server
npm run dev
# Open http://localhost:3000- Modern Stack: Next.js 14, TypeScript, Tailwind CSS
- Content Migration: 97.8% successful migration from Jekyll
- Enhanced Data: CSV integration with advisor-advisee relationships
- API Ready: Dynamic metrics via Altmetric, Dimensions.ai APIs
- Responsive Design: Mobile-first, accessible interface
- Performance Optimized: Lighthouse score >90 target
waves2025/
├── docs/ # 📚 Comprehensive documentation
├── src/ # 💻 Next.js application source
├── content/ # 📄 Migrated content (MDX)
├── public/ # 🖼️ Static assets
├── csv_files/ # 📊 Enhanced data sources
└── legacy/ # 🗄️ Original Jekyll site
📖 Full Documentation - Comprehensive guides organized by topic:
- 🔧 Setup Guides - Environment setup and getting started
- 🚚 Migration Docs - Content migration results and schemas
- 📋 Planning - Project roadmap and task tracking
- 💻 Development - Technical decisions and architecture
- New Developer? → Beginner Guide
- Environment Setup? → Node Environment Setup
- Migration Status? → Enhanced Migration Results
- Project Overview? → Project Plan
- Semantic Scholar Integration → Guide and Workflows
This project uses a multi-tier testing strategy to balance speed and coverage:
- Unit Tests (
npm run test,npm run test:fast): Fast tests for individual components and functions - Integration Tests (
npm run test:full-integration): Comprehensive tests that start servers and test real data flows
# Fast tests (CI-friendly)
npm run test # Jest unit tests
npm run test:fast # Vitest unit tests (excludes integration)
# Integration tests (manual only - slow)
npm run test:full-integration # Full CMS integration with real data
npm run test:sanity-data # Sanity data validation onlyIntegration tests are excluded from CI by default to maintain fast build times. They should only be run:
- Manually when validating major changes
- In staging environments before production deployments
- When debugging CMS integration issues
# Development
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
# Migration Tools
npm run migrate:people # Migrate people profiles
npm run migrate:publications:enhanced # Enhanced publication migration
npm run migrate:people:enhanced # Enhanced people migration
# Code Quality
npm run lint # Run ESLint
npm run type-check # TypeScript validation
# Testing
npm run test # Run Jest unit tests (fast)
npm run test:fast # Run Vitest unit tests (fast)
npm run test:vitest # Run all Vitest tests (excludes integration)
npm run test:full-integration # Run full CMS integration tests (slow, manual only)- ✅ 134/137 publications successfully migrated (97.8%)
- ✅ 69/69 people profiles migrated (100%)
- ✅ 170 CSV records integrated for enhanced data
- ✅ Complete relationship mapping (advisor-advisee networks)
- ✅ API-ready infrastructure for dynamic metrics
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Content: MDX (Markdown + JSX)
- Data: CSV integration + API-based metrics
- Deployment: Vercel (planned)
- Review the Development Documentation
- Follow the Setup Guide
- Check Project Status for current priorities
- 📖 Documentation: ./docs/
- 🐛 Issues: Check migration results and error logs
- 💬 Questions: Review setup guides and project status
Built with ❤️ for advancing research impact and collaboration