Skip to content

🌌 Space exploration app with NASA API. Planets, asteroids and Mars weather. Modern iOS app developed with SwiftUI.

License

Notifications You must be signed in to change notification settings

tahsinmert/TasoSky

TasoSky Logo

🌌 TasoSky

Explore the Depths of Space

A modern, elegant, and informative NASA space exploration app

Swift iOS License NASA API

Features β€’ Installation β€’ Usage β€’ Screenshots β€’ Contributing β€’ License


πŸ“– About

TasoSky is a modern iOS app that provides information about space using NASA API. Explore planets in our solar system, track near-Earth asteroids, and learn about Mars weather.

🎯 Mission

To make the fascinating world of space accessible to everyone in an understandable and visually impressive way.


✨ Features

πŸͺ Planets

  • Interactive Solar System: Animated planet orbits and 3D views
  • Detailed Planet Information:
    • 3D animated planet views
    • Parallax scrolling effects
    • 4 tabs: Overview, Comparison, Orbit, Details
    • Comparison charts with Earth
    • Temperature charts and size comparisons
    • Orbit animations and speed calculations
  • 8 Planets: Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune

β˜„οΈ Asteroids

  • Near-Earth Asteroids: 7-day asteroid tracking
  • Advanced Filtering and Sorting:
    • Filtering: All, Hazardous, Safe
    • Sorting: Date, Distance, Size, Speed
    • Search functionality
  • Statistics and Charts:
    • Total, hazardous, and safe asteroid counts
    • Average speed and size charts
    • Parallax header effects
  • Detailed Asteroid Information:
    • Approach date and distance
    • Speed and size information
    • Size comparison with Earth

πŸ”΄ Mars Weather

  • InSight Lander Data: Real-time Mars weather
  • 4 Tabs:
    • Current: Latest sol data and recent data
    • Pressure: Pressure chart
    • Wind: Wind speed chart
    • All: All sol data
  • Statistics:
    • Average pressure
    • Average and maximum wind speed
  • Detailed Sol Information:
    • Atmospheric pressure (Min, Avg, Max)
    • Wind speed (Min, Avg, Max)
    • Wind direction
    • Date information

🎨 Design Features

  • Modern UI/UX: Minimalist and elegant design
  • Parallax Scrolling: Dynamic scroll effects
  • 3D Animations: Rotating planets and asteroids
  • Gradient Effects: Space-themed color transitions
  • Dark Theme: Eye-friendly dark theme
  • Smooth Animations: Fluid transitions and animations

πŸ›  Technologies

  • SwiftUI: Modern iOS UI framework
  • Combine: Reactive programming
  • Async/Await: Asynchronous operations
  • NASA API: Space data
  • Codable: JSON parsing
  • Custom Components: Reusable UI components

πŸ“‹ Requirements

  • iOS 26.0+
  • Xcode 15.0+
  • Swift 5.0+
  • NASA API Key (Get it free)

πŸš€ Installation

1. Clone the Repository

git clone https://github.com/tahsinmert/TasoSky.git
cd TasoSky

2. Add NASA API Key

  1. Get a free API key from NASA API
  2. Open TasoSky/Services/NASAAPIService.swift
  3. Add your API key to the apiKey variable:
private let apiKey = "YOUR_API_KEY_HERE"

3. Open in Xcode

open TasoSky.xcodeproj

4. Set Team ID

  1. Open the project in Xcode
  2. Select the TasoSky project
  3. Select TasoSky under TARGETS
  4. Go to Signing & Capabilities tab
  5. Select your Apple Developer account from the Team dropdown

5. Run

  • Test in Simulator or
  • Run on your iPhone (Developer account required)

πŸ“± Usage

Planets

  1. Go to the Planets tab
  2. Tap on a planet to view details
  3. Switch between tabs:
    • Overview: Statistics and interesting facts
    • Comparison: Comparison charts with Earth
    • Orbit: Orbit animation and details
    • Details: Detailed planet properties

Asteroids

  1. Go to the Asteroids tab
  2. Use filtering and sorting options
  3. Tap on an asteroid to view details
  4. Use the search bar to search for asteroids

Mars Weather

  1. Go to the Mars tab
  2. Switch between tabs:
    • Current: Latest data
    • Pressure: Pressure chart
    • Wind: Wind speed chart
    • All: All sol data
  3. Tap on a sol card to view details

πŸ“Έ Screenshots

Planets

Planets

Asteroids

Asteroids

Mars Weather

Mars

Note: Screenshots will be added soon.


πŸ— Project Structure

TasoSky/
β”œβ”€β”€ TasoSky/
β”‚   β”œβ”€β”€ Models/          # Data models
β”‚   β”‚   β”œβ”€β”€ APOD.swift
β”‚   β”‚   β”œβ”€β”€ NEO.swift
β”‚   β”‚   β”œβ”€β”€ MarsWeather.swift
β”‚   β”‚   └── Planet.swift
β”‚   β”œβ”€β”€ Views/           # UI views
β”‚   β”‚   β”œβ”€β”€ PlanetsView.swift
β”‚   β”‚   β”œβ”€β”€ NEOView.swift
β”‚   β”‚   └── MarsWeatherView.swift
β”‚   β”œβ”€β”€ Services/        # API services
β”‚   β”‚   └── NASAAPIService.swift
β”‚   β”œβ”€β”€ Components/      # Reusable components
β”‚   β”‚   └── InfoRow.swift
β”‚   β”œβ”€β”€ Utilities/       # Helper classes
β”‚   β”‚   └── Theme.swift
β”‚   └── Assets.xcassets/ # Images and colors
β”œβ”€β”€ TasoSkyTests/        # Unit tests
└── TasoSkyUITests/      # UI tests

πŸ”§ Development

Contributing

We welcome your contributions! Please read CONTRIBUTING.md.

Code Style

  • Follow Swift Style Guide
  • Use meaningful variable names
  • Add comments (especially for complex logic)
  • Follow SwiftLint rules

Testing

# Unit tests
xcodebuild test -scheme TasoSky -destination 'platform=iOS Simulator,name=iPhone 15'

# UI tests
xcodebuild test -scheme TasoSkyUITests -destination 'platform=iOS Simulator,name=iPhone 15'

πŸ› Known Issues

  • Parallax effects may be slow on some devices
  • Error messages can be improved when API rate limit is exceeded

πŸ—Ί Roadmap

  • More planet details (moons, atmosphere composition)
  • APOD (Astronomy Picture of the Day) feature
  • Favorites system
  • Notifications (approaching asteroids)
  • iPad support
  • Widget support
  • Dark/Light mode toggle
  • Multi-language support

🀝 Contributors

Thank you to everyone who contributed to this project! πŸ™


πŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.


πŸ™ Acknowledgments

  • NASA API - Free space data
  • NASA - Inspiring discoveries
  • All open source community

πŸ“ž Contact

Tahsin Mert Mutlu


⭐ Star This Project

If you liked this project, don't forget to give it a star! ⭐


Made with ❀️ and β˜• by Tahsin Mert Mutlu

⬆ Back to Top

About

🌌 Space exploration app with NASA API. Planets, asteroids and Mars weather. Modern iOS app developed with SwiftUI.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages