cosmic

COSMIC: Interactive 3D Solar System

Overview

This project is an interactive 3D model of the solar system built with Three.js, integrated into a Flask web application. The project features an intuitive sidebar that displays detailed information about each planet, including physical characteristics, distance from the Sun, and an accompanying GIF and audio file. The application supports enhanced touch interaction via Hammer.js, making it suitable for both desktop and mobile devices.

Features

Prerequisites

Installation

  1. Clone the repository:
    git clone https://github.com/alanmaizon/cosmic.git
    cd cosmic
    
  2. Install Flask:
    pip install flask
    
  3. Download Necessary Assets: Place the following files in the static directory:
    • Planet textures (e.g., earth.jpg, mars.jpg)
    • GIFs for each planet (e.g., earth.gif, mars.gif)
    • Audio files for each planet (e.g., earth.mp3, mars.mp3)
    • nasa.otf font file (optional)
  4. Run the Flask application:
    flask run
    

    The application will be available at http://127.0.0.1:5000.

File Structure

solar-system/
│
├── static/
│   ├── css/
│   │   └── style.css
│   ├── js/
│   │   ├── three.min.js
│   │   ├── OrbitControls.js
│   │   ├── script.js
│   │   └── hammer.min.js
│   ├── textures/
│   │   ├── earth.jpg
│   │   ├── mars.jpg
│   │   └── ... (other textures)
│   ├── gifs/
│   │   ├── earth.gif
│   │   └── ... (other GIFs)
│   ├── audio/
│   │   ├── earth.mp3
│   │   └── ... (other audio files)
│   └── fonts/
│       └── nasa.otf
│
├── templates/
│   └── index.html
│
└── app.py

Usage

Future Enhancements


Test and Debugging Report

1. Initial Setup and Configuration

2. 3D Model Rendering

3. Audio File Loading

4. Hammer.js Gesture Integration

5. Sidebar Behavior on Mobile

6. Table Display Issues

7. Testing Across Devices

8. Future Testing Considerations

Future development plan

1. Planetary Animations and Orbital Paths

2. Dynamic Lighting

3. Educational Content Integration

4. Expand Audio and Visual Elements

5. VR and AR Support

6. Responsive UI Improvements

7. Data Visualization and Comparisons

8. Save and Share Features

9. Backend Enhancements

10. Performance Optimization

11. Accessibility Features

12. Community and Collaboration