Skip to content
NaMiK0Public

About

🛰️ iOS app for space enthusiasts: NASA Astronomy Picture of the Day with offline favorites, live ISS tracking on a map, and Mars rover photo galleries. SwiftUI, SwiftData, MapKit, async/await.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

28 Commits

Folders and files

Repository files navigation

Aphelion

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)

Установка и запуск

1. Клонирование репозитория

git clone https://github.com/NaMiK0/Aphelion.git
cd Aphelion

2. Получение NASA API ключа

  1. Перейдите на сайт NASA API
  2. Заполните форму для получения бесплатного API ключа
  3. Вы получите ключ на указанную почту

3. Настройка API ключа

  1. Создайте файл Config.xcconfig в корневой папке проекта Aphelion/:
touch Aphelion/Config.xcconfig
  1. Откройте файл и добавьте ваш NASA API ключ:
NASA_API_KEY = ВАШ_API_КЛЮЧ_ОТ_NASA

⚠️ Важно: Файл Config.xcconfig добавлен в .gitignore и не должен быть загружен в репозиторий, так как содержит приватный API ключ.

4. Открытие проекта

  1. Откройте файл Aphelion.xcodeproj в Xcode:
open Aphelion.xcodeproj
  1. Выберите целевое устройство (симулятор или физическое устройство iOS)
  2. Нажмите 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 Endpoints

Проект использует следующие 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 для всех любителей космоса.


Космос ближе, чем кажется 🚀

About

🛰️ iOS app for space enthusiasts: NASA Astronomy Picture of the Day with offline favorites, live ISS tracking on a map, and Mars rover photo galleries. SwiftUI, SwiftData, MapKit, async/await.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages