Skip to content

vOrzee/SocialNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SocialNet iOS App

SocialNet — это приложение для социальных сетей, разработанное с использованием SwiftUI и SwiftData. Оно включает функционал постов, комментариев, сохранённых записей, а также входа с использованием Face ID.

Скриншоты

Главный экран Собственный профиль пользователя Профиль другого пользователя Экран добавления поста Экран действий с постом Экран с меткой на карте Экран добавления метки на карте Комментарии Сохранённые посты Вход Face ID Экран настроек API-Key Экран загрузки

Основные функции

  1. Публикация постов — добавляйте и редактируйте свои посты.
  2. Комментарии — просматривайте и добавляйте комментарии к постам.
  3. Сохранённые записи — сохраняйте понравившиеся посты.
  4. Темы интерфейса — выбирайте светлый или тёмный режим.
  5. Face ID — вход с использованием биометрической аутентификации.

Структура проекта

Проект реализован на основе архитектуры MVVM.

Основные компоненты

  1. MainView

    • Отображает главную страницу с постами и строкой поиска.
    • Включает аватарки пользователей и список постов.
  2. UserView

    • Экран профиля пользователя с возможностью редактирования настроек.
    • Отображает публикации текущего пользователя.
  3. SavedPostsView

    • Список постов, которые были сохранены пользователем.
  4. SettingsView

    • Экран настроек, где можно включить тёмный режим и активировать Face ID.
  5. LoginView

    • Экран для входа и регистрации с поддержкой Face ID.
  6. FaceIDViewModel

    • Класс для управления логикой Face ID.
    • Реализует проверку доступности биометрической аутентификации.
  7. PostsViewModel

    • Управляет данными постов, такими как загрузка, лайки и добавление постов.
  8. SavedPost

    • Модель сохранённых постов с использованием SwiftData.

Особенности реализации

  1. SwiftData для сохранённых постов
    Сохранение записей реализовано с помощью ModelContainer.

  2. Face ID

    • Поддержка биометрической аутентификации через Face ID.
    • Реализована проверка и обработка ошибок для обеспечения безопасного входа.
  3. Интерактивный интерфейс

    • Элементы интерфейса обновляются в реальном времени благодаря использованию @StateObject и @ObservedObject.
    • Например, при добавлении поста он сразу отображается в списке.
  4. Поддержка тёмной темы

    • Пользователь может переключать темы в реальном времени.
    • Выбор сохраняется в UserDefaults.

Разработано с ❤️ и SwiftUI!

About

Дипломная работа к профессии «iOS-разработчик»

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages