OrbitalEye is a high-fidelity NEO (Near-Earth Object) tracking web application that synchronizes with NASA's real-time data. It provides an immersive 3D solar system visualization, accurately plotting elliptical orbits for asteroids and planets using precise Keplerian elements from the JPL Small-Body Database.
- Accurate 3D Orbits: Visualizes planets and near-Earth objects using live Keplerian elements.
- Data Integration: Real-time integration with NASA/JPL API for tracking hazardous and safe NEOs.
- Interactive Visualization: Built with React Three Fiber, allowing smooth 3D and 2D top-down explorations of the solar system.
- Filtering & Time Travel: Filter by hazardous/safe NEOs or time-travel using the date picker to predict close approaches.
- Modern Architecture: Full-stack application utilizing a Next.js client and a Python FastAPI backend.
/client: The frontend interface built with Next.js, React, TailwindCSS, and React Three Fiber (@react-three/drei)./server: The backend API built with Python and FastAPI, handling the NASA/JPL data processing and synchronization.
cd server
pip install -r requirements.txt # (if applicable, install dependencies)
uvicorn main:app --reloadThe backend API will be available at http://localhost:8000.
cd client
npm install
npm run devThe client interface will be available at http://localhost:3000.
- 3D Mode:
- Left-drag: Rotate camera
- Right-drag: Pan camera
- Scroll: Zoom in/out
- 2D Mode:
- Left-drag / Right-drag: Pan map
- Scroll: Zoom in/out
- D-pad: Screen-space panning available in both modes.
MIT License