Skip to content

An interactive single-page app that combines persistent and live data to deliver real-time visualizations. Features multiple modes, scalable gamified feedback, and an intuitive weight-based questionnaire with procedural canvas feedback.

License

Notifications You must be signed in to change notification settings

EfeOzalpp/Exploratory-Interactive-WebApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌍 Climate Gamification — 3D Interactive Survey Experience

Climate Gamification Screenshot Climate Gamification Screenshot

Climate Gamification is a fully interactive web application that visualizes survey results about climate change in a gamified 3D environment.

After completing a short climate survey, users receive personalized feedback represented through anchored to the world, color-coded cards and can explore other participants’ results in a live, orbitable 3D world.


🎮 Features

  • 🧩 Gamified Feedback Cards
    Personalized results based on each answer — with dynamic gradients, and contextual tone.

  • 🌐 3D Visualization with Three.js & React Three Fiber
    Explore other survey takers’ results floating in space — zoom, orbit, and interact with dynamic nodes.

  • 🖼️ Custom 2D Canvas Engine
    A lightweight, hand-built engine (not dependent on p5.js or PixiJS) for drawing animated environmental shapes like trees, houses, and clouds.

  • 🧭 Responsive & Touch-Ready UI
    Pinch-zoom, drag, rotate, and toggle elements fluidly — with accessibility and motion-sickness safeguards.

  • ⚙️ Dynamic Offset Anchoring System
    Keeps 2D DOM elements visually attached to their 3D anchors, even during zooming or camera movement.
    Handles viewport edge cases automatically using .is-top, .is-bottom, etc. classes.


🧠 Technical Highlights

🎯 Bridging 3D Context with React DOM

The app integrates Three.js (via React Three Fiber) and React DOM through a custom anchoring system.
Normally, @react-three/drei’s Html component struggles to keep labels aligned during camera motion.
This project introduces a dynamic offset value system to preserve spatial alignment and visual consistency.

transform: translateX(var(--offset-px));

About

An interactive single-page app that combines persistent and live data to deliver real-time visualizations. Features multiple modes, scalable gamified feedback, and an intuitive weight-based questionnaire with procedural canvas feedback.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published