Student resources website built with Next.js 14, providing courses, documentation, API guides, practice exercises, and exam resources.
-
Install dependencies:
npm install
If you encounter peer dependency errors (due to deprecated
react-mdl), the project uses.npmrcwithlegacy-peer-deps=true. If issues persist:npm install --legacy-peer-deps
-
Run development server:
npm run dev
Visit
http://localhost:3000to see your site. -
Build for production:
npm run build
This creates an optimized production build in the
/outdirectory (static export). -
Start production server:
npm start
/app # Next.js App Router pages and layouts
/components # Shared React components (Header, Footer)
/src
/components # Original components
/page-components # Page components
/styles # CSS files
/utils # Utilities and design system
/utilities # Data files and utilities
/config # Configuration files
/images # Source images
/public # Static assets (images, resources)
- ✅ Modern, responsive design
- ✅ Server-side rendering (SSR) ready
- ✅ Static site generation (SSG) support
- ✅ Optimized images with Next.js Image component
- ✅ Fast page transitions
- ✅ SEO optimized
- ✅ React Router compatibility via polyfill
/- Landing page/coursesand/courses/[slug]- Courses pages/docsand/docs/[slug]- Documentation pages/apisand/apis/[slug]- API documentation/apis/playwright/[slug]- Playwright sub-pages/aidand/aid/[slug]- AID resources/practiceand/practice/[slug]- Practice exercises/practice/quiz/[examId]- Exam pages (Exam1-Exam17)/about,/contact,/how-it-works- Static pages- Legal pages:
/terms-of-use,/privacy-policy,/copyright-notice,/website-disclaimer
- Next.js 14 - React framework
- React 18 - UI library
- react-mdl - Material Design Lite components (deprecated but functional)
- tachyons - Utility CSS framework
- All pages, content, images, functions, and logic remain the same
- React Router has been replaced with Next.js App Router
- Components using
withRouterwork via polyfill - All styles and assets have been preserved
- The design has been modernized while keeping all functionality intact
If you encounter issues:
-
Clear node_modules and reinstall:
rm -rf node_modules package-lock.json npm install
-
Clear Next.js cache:
rm -rf .next npm run dev
-
Check image paths: Ensure images are in
/public/imagesor/src/images -
Verify component imports: All components should import from
@/src/...
For more detailed troubleshooting, see TROUBLESHOOTING.md
- MIGRATION_GUIDE.md - Complete migration documentation
- GOOGLE_SHEETS_SETUP.md - Google Sheets integration setup
- EMAILJS_SETUP.md - EmailJS contact form setup
- README_DESIGN_SYSTEM.md - Design system documentation
- RESET_EXAM.md - How to reset exam attempts
- TROUBLESHOOTING.md - Common issues and solutions
The project is configured for static export and can be deployed to:
- GitHub Pages
- Vercel
- Any static hosting service
npm run buildThe output will be in the /out directory.
See LICENSE file for details.