Terrava is a mobile application that provides users with real-time information about Earth's events and stunning astronomical images, powered by NASA's open APIs.
Inspired from Panda MemeCreator from Swift Playgrounds 💗
-
APOD (Astronomy Picture of the Day):
- Showcases a daily astronomy image or video from NASA.
- Displays the image's title and explanation.
-
EONET (Earth Observatory Natural Event Tracker):
- Displays a map with markers indicating recent natural events across the globe.
- Provides information about each event, including its title and categories.
- Swift: The primary programming language for iOS development.
- SwiftUI: For building the app's user interface.
- CoreLocation: For handling location data and map integration.
- URLSession: For fetching data from NASA's APIs.
- Codable: For JSON decoding.
- MapKit: For displaying maps.
- NASA Open APIs (APOD, EONET): The data sources for the app.
- Xcode (latest version)
- iOS 15.0+
- NASA API Key (for APOD)
-
Go to the NASA API website: https://api.nasa.gov/
-
Click on "Generate API Key" or "Get API Key."
-
Fill out the required information.
-
You will receive your API key via email or on the website.
-
In Xcode, open the
[APODFetcher](https://github.com/wgnofi/Terrava/blob/main/Terrava/APOD/APODFetcher.swift)file. -
Add your API key to the
APODFetcherplaceholder:let urlString = "https://api.nasa.gov/planetary/apod?api_key=YOUR_API_KEY"
-
Replace
"YOUR_API_KEY_HERE"with your actual API key.
-
Clone the repository:
git clone https://github.com/wgnofi/Terrava
-
Open the project in Xcode:
open Terrava.xcodeproj
-
Build and run the app on a simulator or physical device.
- APOD Tab:
- A daily astronomy picture
- It's title and description which is scrollable
- EONET Tab:
- The map displays markers for recent natural events.
- Tap a marker to view event details.
Contributions are welcome! If you find a bug or have an idea for a new feature, please open an issue or submit a pull request.
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.





