An interactive 3D science experiment platform built with Next.js, TypeScript, Three.js, and Tailwind CSS.
-
🎨 Chemistry Lab Aesthetic: Warm brown and beige color scheme creating an immersive lab environment
-
🧬 5 Interactive Experiments:
- Color-Changing Solutions - Oxidation-reduction reactions
- Momentum Collision - Conservation of momentum and Newton's laws
- Crystal Formation - Crystallography and molecular structure
- Pendulum Waves - Harmonic motion and wave interference
- Particle Acceleration - Electromagnetic field interactions
-
📱 Responsive Design: Works seamlessly on desktop, tablet, and mobile devices
-
⚡ 3D Animations: Powered by Three.js (ready for animation implementation)
-
🎯 Educational Content: Each experiment includes detailed explanations and learning objectives
- Home (
/) - Welcome page with feature overview - Experiments (
/experiments) - Gallery of all available experiments - Individual Experiment Pages - Detailed views with 3D visualizations
- Contact (
/contact) - Contact form and information
- Framework: Next.js 15.1.7
- Language: TypeScript
- Styling: Tailwind CSS
- 3D Graphics: Three.js
- Runtime: Node.js
npm installnpm run devOpen http://localhost:3000 in your browser to see the application.
npm run build
npm start├── app/
│ ├── components/ # Shared components (Navigation, Footer)
│ ├── experiments/ # Experiments section
│ │ ├── components/ # Experiment-specific components
│ │ ├── color-changing/ # Individual experiment pages
│ │ ├── momentum/
│ │ ├── crystal-formation/
│ │ ├── pendulum-waves/
│ │ └── page.tsx # Main experiments gallery
│ ├── contact/ # Contact page
│ ├── layout.tsx # Root layout
│ ├── globals.css # Global styles
│ └── page.tsx # Home page
├── public/ # Static assets
├── package.json
├── tsconfig.json
├── tailwind.config.ts
├── next.config.ts
└── .eslintrc.json
- Dark:
#4a3728 - Medium:
#6b5344 - Light:
#9d8b7e - Beige:
#d4c5b0 - Cream:
#ede4d3 - Accent Brown:
#8b6f47 - Accent Copper:
#b87333
All colors are available as Tailwind utilities:
bg-lab-dark,bg-lab-medium,bg-lab-light,bg-lab-beige,bg-lab-creamtext-lab-dark,text-lab-medium,text-lab-light,text-lab-beigebg-accent-brown,text-accent-brownbg-accent-copper,text-accent-copper
The Three.js scene infrastructure is set up in ExperimentCanvas.tsx. Each experiment page is ready for custom animations:
- Color-Changing Solutions: Implement molecular reaction animations
- Momentum Collision: Add realistic ball physics and collision detection
- Crystal Formation: Create growing crystal lattice structures
- Pendulum Waves: Simulate multiple pendulums with wave patterns
- Particle Acceleration: Implement charged particle movement in electromagnetic fields
To add animations, modify the animate loop or useEffect in individual ExperimentCanvas implementations.
- ✅ Project scaffold complete with all pages and routes
- ✅ Responsive navigation and footer
- ✅ Three.js scene setup and rendering pipeline
- ✅ Contact form (validation and submission logic ready)
- ✅ Tailwind CSS with custom chemistry lab color scheme
- ⏳ 3D experiment animations (ready to implement)
- Chrome (recommended)
- Firefox
- Safari
- Edge
This project is open source and available for educational use.
For questions or issues, please contact us through the Contact page or email info@sciencelab.com.