https://github.com/tahsinmert/tasosky
🌌 Space exploration app with NASA API. Planets, asteroids and Mars weather. Modern iOS app developed with SwiftUI.
https://github.com/tahsinmert/tasosky
asteroids astronomy ios mars-weather nasa-api open-source planets space-exploration swift swiftui
Last synced: about 1 month ago
JSON representation
🌌 Space exploration app with NASA API. Planets, asteroids and Mars weather. Modern iOS app developed with SwiftUI.
- Host: GitHub
- URL: https://github.com/tahsinmert/tasosky
- Owner: tahsinmert
- License: mit
- Created: 2025-11-08T17:35:47.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-11-08T17:42:21.000Z (8 months ago)
- Last Synced: 2025-11-08T19:19:17.892Z (8 months ago)
- Topics: asteroids, astronomy, ios, mars-weather, nasa-api, open-source, planets, space-exploration, swift, swiftui
- Language: Swift
- Homepage:
- Size: 1.56 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README

# 🌌 TasoSky
**Explore the Depths of Space**
A modern, elegant, and informative NASA space exploration app
[](https://swift.org)
[](https://developer.apple.com/ios/)
[](LICENSE)
[](https://api.nasa.gov)
[Features](#-features) • [Installation](#-installation) • [Usage](#-usage) • [Screenshots](#-screenshots) • [Contributing](#-contributing) • [License](#-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](https://api.nasa.gov))
---
## 🚀 Installation
### 1. Clone the Repository
```bash
git clone https://github.com/tahsinmert/TasoSky.git
cd TasoSky
```
### 2. Add NASA API Key
1. Get a free API key from [NASA API](https://api.nasa.gov)
2. Open `TasoSky/Services/NASAAPIService.swift`
3. Add your API key to the `apiKey` variable:
```swift
private let apiKey = "YOUR_API_KEY_HERE"
```
### 3. Open in Xcode
```bash
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

### Asteroids

### Mars Weather

> **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](CONTRIBUTING.md).
### Code Style
- Follow Swift Style Guide
- Use meaningful variable names
- Add comments (especially for complex logic)
- Follow SwiftLint rules
### Testing
```bash
# 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](LICENSE) file for details.
---
## 🙏 Acknowledgments
- [NASA API](https://api.nasa.gov) - Free space data
- [NASA](https://www.nasa.gov) - Inspiring discoveries
- All open source community
---
## 📞 Contact
**Tahsin Mert Mutlu**
- GitHub: [@tahsinmert](https://github.com/tahsinmert)
- Email: your.email@example.com
- Twitter: [@yourusername](https://twitter.com/yourusername)
---
## ⭐ 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](#-tassky)