Giter Club home page Giter Club logo

vk-client's Introduction

Содержание

VK-Client

Приложение - клиент для работы с Вконтакте, проект пишется в рамках обучения в Geekbrains.
Проект учебный и в нём делается намного больше, чем даётся программой.

В программе есть ДЕМО РЕЖИМ, т.е. вам не обязательно авторизовываться через ВК апи, можно посмотреть с тестовыми данными.
изображение

Написан только кодом

В данной версии мессенджера не используется сториборд, а весь интерфейс написан кодом. Такого на курсе не было, обучился самостоятельно.

Cкриншоты

изображение изображение изображение изображение изображение изображение

Возможности

  • Авторизация через Webview вконтакте
    • Сохранение сессии авторизации
    • Использование авторизации для запросов API
    • Демо режим и демонстрация со статичными данными
  • Друзья
    • Отображение списка друзей
    • Поиск по списку друзей
    • Просмотр профиля и всех фото
    • Галерея фото
      • Не Коллекция
      • Анимируются UIView каруселью
      • Предзагрузка
      • Кеширование
  • Группы
    • Отображение групп пользователя
    • Поиск
      • Поиск по группам пользователя
      • Поиск новых групп
    • Вступление в группу
    • Выход из группы
  • Новости
    • Отображение новостей
    • Возможность лайкнуть
    • Скролл нескольких картинок
    • Показать полностью текст новости

Инструменты и технологии

  1. Используется архитектура MVVM + сервисы
  2. UIKit
  3. Persistent менеджер на базе Realm
  4. Менеджер кэша на базе NSCache
  5. Dependency Injection
  6. Assembly сервис, загружает разные модели в live и demo режимах
  7. GCD
  8. Operations
  9. Кастомные ячейки таблиц
  10. Кастомные ячейки коллекций
  11. UICollectionViewDiffableDataSource
  12. Composition Layout в коллекции новостей
  13. Infinite scroll + Pull to refresh в новостях
  14. Отдельные сервисы для загрузки данных
  15. Сохранение картинок в файловую систему с именем SHA256 от ссылки
  16. XCTest

и другое

vk-client's People

Contributors

eldaen avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.