/CosmoArchitects

CosmoArchitects - CosmicVue ๐ŸŒŒ An interactive 3D orrery web app built for the 2024 NASA Space Apps Challenge. Visualizes real-time positions and orbits of planets, Near-Earth Objects (NEOs), and comets using NASA's data. Designed for accessibility, education, and engagement, with a focus on dynamic simulations.

Primary LanguageJavaScriptGNU Lesser General Public License v2.1LGPL-2.1

๐ŸŒŒ CosmoArchitects - CosmicVue ๐ŸŒŒ

GitHub License NASA Space Apps Status Netlify Status Award Award

CosmicVue Logo

View Demo ยท Report Bug ยท Request Feature

๐Ÿ† Global Finalist - 2024 NASA International Space Apps Challenge ๐Ÿ†

๐Ÿš€ About The Project

CosmicVue is our award-nominated submission for the 2024 NASA International Space Apps Challenge - an interactive orrery web application that brings the solar system to life. Experience real-time visualization of planets, Near-Earth Asteroids (NEAs), Potentially Hazardous Asteroids (PHAs), and Near-Earth Comets (NECs) in stunning 3D.

๐Ÿ† Recognition & Challenge Details

  • Award: Global Finalist - 2024 NASA International Space Apps Challenge
  • Event: 2024 NASA Space Apps Challenge
  • Categories: Astrophysics, Space Exploration, Software, Games, Planets & Moons
  • Difficulty: Intermediate to Advanced
  • Team: CosmoArchitects

โœจ Features

๐ŸŒ Core Features

  • 3D Interactive Visualization
    • Real-time solar system rendering
    • Smooth zoom, pan, and rotation controls
    • Dynamic camera perspectives

๐Ÿ›ธ Advanced Capabilities

  • NASA Data Integration
    • Live celestial body positioning
    • Accurate Keplerian orbital parameters
    • Real-time trajectory calculations

๐ŸŽฎ User Controls

  • Simulation Management
    • Adjustable time flow controls
    • Orbital path toggles
    • Customizable object labels
    • Multiple viewing modes

๐Ÿ› ๏ธ Built With

Core Technologies

  • ๐Ÿ“Š Three.js - 3D graphics engine
  • ๐Ÿš€ Vue.js - Frontend framework
  • ๐Ÿ“ก NASA APIs - Data sources

Data Sources

  • ๐Ÿ›ฐ๏ธ NASA's Small Body Database
  • ๐ŸŒ  NASA's Horizon API
  • ๐ŸŒ NASA's Open API

๐Ÿ’ป Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • npm (v6 or higher)
  • Modern web browser

Installation

  1. Clone the repository
git clone https://github.com/KhamessiTaha/CosmoArchitects.git
cd CosmoArchitects
  1. Install dependencies
npm install
  1. Start development server
npm run start
  1. Open http://localhost:3000 in your browser

๐ŸŽฎ User Guide

Basic Controls

  • ๐Ÿ–ฑ๏ธ Mouse Controls
    • Left Click + Drag: Rotate view
    • Right Click + Drag: Pan view
    • Scroll: Zoom in/out

Advanced Features

  • โš™๏ธ Control Panel
    • Speed adjustment
    • Object filters
    • Label toggles
    • Orbital path visualization

๐Ÿ”ฌ Technical Details

Orbital Mechanics

  • Implements Keplerian orbital parameters
    • Eccentricity
    • Semi-major axis
    • Inclination
    • Argument of periapsis
    • True anomaly

Performance Optimizations

  • Dynamic level of detail
  • Efficient render cycles
  • Optimized data structures

๐ŸŽฏ Objectives

  • Interactive Education: Create an engaging platform for solar system exploration
  • Real-time Visualization: Accurately represent celestial object positions
  • Scientific Accuracy: Implement precise orbital mechanics calculations
  • User Engagement: Provide intuitive controls for space exploration

๐Ÿšง Roadmap

  • AI Enhancement

    • Advanced orbit predictions
    • Collision detection systems
    • Machine learning for trajectory optimization
  • Feature Expansion

    • Extended celestial database
    • Advanced visualization modes
    • Time travel simulations
  • Mobile Optimization

    • Responsive design improvements
    • Touch controls enhancement
    • Progressive Web App implementation

๐Ÿค Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add AmazingFeature')
  4. Push to branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

See CONTRIBUTING.md for detailed guidelines.

๐ŸŒŸ Acknowledgments

  • NASA - For providing invaluable data and APIs
  • Space Apps Challenge - For the opportunity and inspiration
  • Three.js Community - For excellent documentation and support
  • AI Tools - For assistance in debugging and optimization

๐Ÿ† Awards & Recognition

  • Global Finalist - 2024 NASA International Space Apps Challenge
    • Selected as one of the global nominees from thousands of international submissions
    • Selected as one of the Global Finalists (Top 40 from 10000 submissions )

๐Ÿ“„ License

Licensed under the LGPL-2.1 License - see LICENSE for details.

๐Ÿ“ž Contact

Project Link: https://github.com/KhamessiTaha/CosmoArchitects

Demo: https://cosmicvue.netlify.app/

Space Apps Project Page: View our NASA Space Apps submission

๐Ÿ”— Useful Links