Aphelion — это iOS-приложение для всех, кто интересуется космосом и астрономией.
Приложение позволяет каждый день открывать новое фото космоса от NASA с научным описанием, следить за местоположением Международной космической станции в реальном времени на карте, просматривать снимки с поверхности Марса сделанные марсоходами Curiosity и Perseverance, а также сохранять понравившиеся публикации в избранное.
Aphelion создан для людей которым интересна наука и космос — от школьников до профессионалов, кто хочет каждый день узнавать что-то новое о вселенной прямо с телефона.
- APOD (Astronomy Picture of the Day) — ежедневное астрономическое изображение от NASA с научным описанием
- ISS Tracker — отслеживание Международной космической станции в реальном времени на карте с обратным геокодированием местоположения
- Mars Rover Gallery — просмотр фотографий с поверхности Марса от марсоходов Curiosity и Perseverance
- Избранное — сохранение понравившихся изображений APOD с возможностью удаления
Проект разработан с использованием современных технологий Apple:
- SwiftUI — декларативный фреймворк для создания пользовательского интерфейса
- SwiftData — фреймворк для хранения данных (избранные публикации)
- MapKit — отображение карты и отслеживание местоположения ISS
- Async/Await — асинхронное программирование для работы с сетевыми запросами
- NASA API — получение данных от NASA (APOD, Mars Rover Photos)
- ISS Location API — получение координат МКС в реальном времени
- Xcode 15.0 или выше
- iOS 17.0 или выше
- macOS для разработки (Ventura или выше)
- NASA API Key (бесплатный ключ от NASA)
git clone https://github.com/NaMiK0/Aphelion.git
cd Aphelion- Перейдите на сайт NASA API
- Заполните форму для получения бесплатного API ключа
- Вы получите ключ на указанную почту
- Создайте файл
Config.xcconfigв корневой папке проектаAphelion/:
touch Aphelion/Config.xcconfig- Откройте файл и добавьте ваш NASA API ключ:
NASA_API_KEY = ВАШ_API_КЛЮЧ_ОТ_NASA
Config.xcconfig добавлен в .gitignore и не должен быть загружен в репозиторий, так как содержит приватный API ключ.
- Откройте файл
Aphelion.xcodeprojв Xcode:
open Aphelion.xcodeproj- Выберите целевое устройство (симулятор или физическое устройство iOS)
- Нажмите
Cmd + Rдля запуска проекта
Aphelion/
├── Aphelion/
│ ├── AphelionApp.swift # Точка входа приложения
│ ├── ContentView.swift # Главный вид с табами
│ ├── Features/
│ │ ├── APOD/ # Модуль астрономического фото дня
│ │ │ ├── Models/
│ │ │ ├── Views/
│ │ │ └── ViewModels/
│ │ ├── ISS/ # Модуль отслеживания МКС
│ │ │ ├── Models/
│ │ │ ├── Views/
│ │ │ └── ViewModels/
│ │ ├── MarsRover/ # Модуль фотографий с Марса
│ │ │ ├── Models/
│ │ │ ├── Views/
│ │ │ ├── ViewModels/
│ │ │ └── Client/
│ │ ├── Networking/ # Сетевой слой
│ │ │ ├── NASA/
│ │ │ └── ISS/
│ │ └── Core/ # Общие компоненты
│ └── Config.xcconfig # Конфигурация (не в репозитории)
├── AphelionTests/
└── AphelionUITests/
Проект использует следующие API:
- APOD:
https://api.nasa.gov/planetary/apod - Mars Rover Photos:
https://api.nasa.gov/mars-photos/api/v1/rovers/ - ISS Location:
http://api.open-notify.org/iss-now.json
Этот проект создан в образовательных целях.
Создано с использованием NASA API для всех любителей космоса.
Космос ближе, чем кажется 🚀